javaweb-->Respose功能

response功能:

下载图片:注意图片的路径

//获得下载的路径
String realPath = this.getServletContext().getRealPath(图片的路径位置);
//下载的文件名字
String filemame = realPath.substring(realPath.lastIndexOf("//") + 1);
//想办法让浏览器支持下载我们需要的东西
resp.setHeader("Content-Disposition","attachment;filename"+filemame);
//获取下载文件的输入流
FileInputStream in = new FileInputStream(realPath);
//创建缓冲区
int len = 0;
byte[] buffer = new byte[1024];
//获取OutputStream对象
ServletOutputStream out = resp.getOutputStream();
//将FileOutputStream流写入到buffer缓冲区,使用 OutputStream将数据输出到客户端
while ((len=in.read(buffer))>0){
out.write(buffer,0,len);
}
in.close();
out.close();

自己画一个图片并且下载:
//浏览器刷新
resp.setHeader("refresh","3");
//在内存中创建图片
BufferedImage image = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
//得到图片
Graphics2D g = (Graphics2D) image.getGraphics();
//设置图片背景颜色
g.setBackground(Color.BLACK);
g.fillRoundRect(20,20,20,20,40,60);
//给图片写数据
g.setColor(Color.BLUE);
g.setFont(new Font(null,Font.BOLD,20));//设置字体

//告诉浏览器 这个请求用图片的方式打开
resp.setContentType("image/jpeg");
//网站存在缓存,不让浏览器缓存
resp.setDateHeader("expires",-1);
resp.setHeader("Cache-Control","no-cache");
resp.setHeader("Pragma","no-cache");

//把图片写给浏览器
ImageIO.write(image,"jpg",resp.getOutputStream());
重定向
resp.sendRedirect();
posted on 2022-03-10 09:26  微笑阿凡达  阅读(73)  评论(0)    收藏  举报