实现服务器端下载的MIME头

大家几乎都做过用代码下载文件的功能,我也如此。我以前认为使用application/octet-stream的类型,就可以保证文件下载。可是前几天遇到了个问题,客户使用ie下载office 2007格式的文件就出现了直接在浏览器打开,显示一堆乱码的情况,主要是docx,xlsx,pptx这些基于xml格式的文件。我用jsp,开始直接用url下载,并在web.xml中配置mime都无效,搜了很多,都说在tomcat下基本没啥问题,但我使用jboss,怎么配置也不好用。然后转向代码方式。响应头也是application/octet-stream类型,还是没有效果。搞了半天,看见一个兄弟问php下载的问题,看到了他指定的http头才算解决。需要指定强制下载的响应头,主要就是2个:

"contentType","application/force-download;charset=ISO8859-1"

"Content-Transfer-Encoding","binary"

原来都不知道有application/force-download这个头,现在终于明白了。在此记录下来备案。


你可能感兴趣的:(实现服务器端下载的MIME头)