浏览器出现下载提示框的配置
2012年1月31日
没有评论
当访问某个链接时浏览器是直接把内容显示出来还是出现下载提示框,这个跟当前页面的content-type有关,例如文本、html、css、图片等会直接显示出来,rar、zip等会出现下载提示框。如果需要把文本、图片不直接显示在浏览器中,可以通过人为设置其content-type。tomcat中配置如下:
<mime-mapping> <extension>txt</extension> <mime-type>application/octet-stream</mime-type> </mime-mapping> <mime-mapping> <extension>jpg</extension> <mime-type>application/octet-stream</mime-type> </mime-mapping>
对于如上配置,当访问扩展名txt或jpg的资源时就出现下载提示框,如果只需要对某些提到的资源让其出现下载提示框,上述配置就不行了,解决的方法是在资源的response头中设置content-type即可,例如:
php 中 header("Content-type:application/octet-stream"); header('Content-Disposition: attachment; filename="downloaded.txt"'); java 中 response.setContentType("application/octet-stream"); resp.setHeader("Content-Disposition", "attachment;filename="downloaded.txt");
如果需要为下载设置一个保存的名字,可以用Content-Disposition属性来指定。