使用response向客户端输出图片

Doubloie 2016-01-22 03:44:11
假设在服务器目录外有一张图片,这时不能直接以访问静态资源的形式去访问这张图片。
所以考虑使用Action作为中介去获得这张图片。
设文件路径为:home/images/test.png


public class ImageAction extends BaseAction {

public void getImage() throws IOException {
// 载入图像
BufferedImage buffImg = ImageIO.read(new FileInputStream("home/images/test.png"));

// 将四位数字的验证码保存到Session中。
// 禁止图像缓存。
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
// 将图像输出到Servlet输出流中。
ServletOutputStream sos = response.getOutputStream();
ImageIO.write(buffImg, "jpeg", sos);
sos.close();
}
}


使用此方法可以降低资源与服务器的耦合性,使更新服务器版本更加方便。
...全文
1931 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧