HttpServletResponse 设置直接强制只能浏览器下载 不直接打开图片
时间: 2024-02-07 20:03:48 浏览: 32
要设置直接强制只能浏览器下载而不是直接打开图片,你需要在 HttpServletResponse 对象中设置 Content-Disposition 头信息,并将其值设置为 "attachment;filename=xxx",其中 "xxx" 是你想要保存的文件名。这样浏览器就会将图片下载到本地,而不是直接在浏览器中打开。
以下是一个示例代码:
```
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;
public class ImageUtils {
public static void writeToResponse(BufferedImage image, String formatName, String filename, HttpServletResponse response) {
try {
response.setContentType("image/" + formatName);
response.setHeader("Content-Disposition", "attachment;filename=" + filename);
ImageIO.write(image, formatName, response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
你可以将 BufferedImage 对象、图片格式、想要保存的文件名和 HttpServletResponse 对象传递给这个方法,它将将 BufferedImage 对象输出到浏览器,并设置相应的响应头。这样,浏览器就会强制下载相应的图片文件了。