Spring Boot 图片预览和下载:setContentType 的位置如何决定行为?

spring boot 图片预览和下载:setcontenttype 的位置如何决定行为?

setcontenttype 对 spring boot 图片预览和下载的影响

spring boot 2.5.0 中,setcontenttype 方法放置的位置会影响图片的预览和下载。

放在后预览

response.setcontenttype("image/*"); // 放在获取文件流之后

在这种情况下,setcontenttype 设置在读取文件流并输出到 servletoutputstream 之后,浏览器会将响应内容视为预览。即,图片会在浏览器中显示。

放在前下载

response.setContentType("image/*"); // 放在获取文件流之前

如果将 setcontenttype 设置在读取文件流之前,浏览器会将响应内容视为下载。即,浏览器会弹出文件下载对话框,让用户保存文件。

说明

当浏览器收到响应时,它会根据响应内容类型决定如何处理响应内容。如果内容类型设置为图像,则浏览器会预览响应内容;如果内容类型设置为下载文件,则浏览器会弹出文件下载对话框。

所以,如果需要预览图片,请将 setcontenttype 放在获取文件流之后,否则将弹出文件下载对话框。

以上就是Spring Boot 图片预览和下载:setContentType 的位置如何决定行为?的详细内容,更多请关注其它相关文章!