Java web 关于文件下载的一点理解

今天在,解决一个关于导出SQL数据,生成excle文件中

参考了这篇文章:跳转

1.Content-Disposition

response.setHeader("Content-Disposition",
                   "attachment;fileName=" + 
                   URLEncoder.encode("test"+".xls", "UTF-8"));

Content-disposition是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名

2.application/binary

       response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的 程 序嵌入模块来处理相应的数据。例如web浏览器就是通过MIME类型来判断文件是GIF图片

  像,Excle的.xls 我测试了使用 application/binary,和application/vnd.ms-excel都可以成功,关于文件类型,可以百度,不过在tomcat的conf中web.xml中有说明,关于各种文件类型的ContentType指定

	  response.setContentType("application/vnd.ms-excel;
                                   charset=UTF-8");
                                // application/binary

3.要想生成文件,数据内容要写入响应流中,

       流的问题我也不是很懂,在这里,用了 ServletOutputStream

所以,关于文件下载,

1.Content-Disposition ==> 告诉浏览器我要下载

2.application/binary  ==> 指定下载名和下载类型

3.数据内容写入响应流中

4.这是个人理解

完整代码: https://github.com/19971020jxh/SQL_Excle.git

猜你喜欢

转载自blog.csdn.net/qq_38966984/article/details/84147459
今日推荐