响应头Content-disposition,通知浏览器以附件形式去下载文件
2018-07-03 21:34
211 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenzuen113113/article/details/80904721
阅读更多
1.Content-disposition响应头的作用:通知浏览器处理内容的方式以附件的形式下载。 2.在现实开发中很多时候我们都需要提供相应的功能给用户下载附件。比如:智联招聘(下载简历), 百度云(下载资料) 3.代码 代码: import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //需求: 向浏览器输出一张图片,然后通知浏览器以附件的形式处理。 public class ContentDispositionServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //uuid可以保证产生的字符串是全球唯一的, uuid是通过:cpu序列号+当前毫秒数算出的值。 String uuidFileName = UUID.randomUUID().toString(); //产生一个uuid String fileName = uuidFileName+".jpg"; //对文件进行url编码 //fileName = URLEncoder.encode(fileName, "utf-8"); // 解决了90%的浏览器, firefox浏览器解决不了。 //设置content-disposition响应头,通知浏览区以附件的形式下载处理。 response.setHeader("Content-Disposition", "attachment;filename="+fileName); OutputStream out = response.getOutputStream(); //建立文件的输入流,读取本地的图片资源 FileInputStream fileInputStream = new FileInputStream("c:/pig/8.jpg"); //建立缓冲字节数组读取 byte[] buf = new byte[1024]; int length = 0 ; //不断的读取了图片的资源 while((length=fileInputStream.read(buf))!=-1){ //向浏览器输出 out.write(buf,0,length); } //关闭 资源 fileInputStream.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
阅读更多
相关文章推荐
- JavaWeb---设置content-disposition响应头,让浏览器下载文件
- Content-Disposition 响应头,设置文件在浏览器打开还是下载
- Content-Disposition 响应头,设置文件在浏览器打开还是下载
- 利用response和HttP中的Content-Disposition: attachment; filename=aaa.zip响应头,实现简单的文件下载
- java后台简单从阿里云下载文件通知前端以附件的形式保存
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 将一个文件作为下载的形式打开【下载文件】,添加报文头context.Response.AddHeader("Content-disposition", "attachment; filename="
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 使用Content-Disposition: attachment; filename=FILENAME,在Firefox浏览器中下载文件,文件名中文乱码问题解决。
- 浏览器下载附件Content-Disposition
- 转:正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- java后台简单从腾讯云下载文件通知前端以附件的形式保存
- 设置响应头的Content-Disposition属性,实现文件下载示例
- 转载: 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- Servlet——使用http响应头Content-Disposition下载文件的示例
- 浏览器文件下载和图片显示(流形式)
- Content-Disposition 文件上传、下载 中文乱码 HTTP头 解决办法 Java Jersey