php – 强制保存所有浏览器的文件 – 不在浏览器窗口中打开
我正在寻找一个适用于所有浏览器的简单解决方案.
对于特定的文件类型,或通过类的目标链接:如何让它们在所有主流浏览器中强制下载. 我以为我找到了apachce服务器的完美解决方案 – 将其添加到.htaccess中. http://css-tricks.com/snippets/htaccess/force-files-to-download-not-open-in-browser/ AddType application/octet-stream .csv AddType application/octet-stream .xls AddType application/octet-stream .doc AddType application/octet-stream .avi AddType application/octet-stream .mpg AddType application/octet-stream .mov AddType application/octet-stream .pdf 似乎在Firefox和Safari中工作,但不是chrome或IE(尚未测试任何其他内容) 任何人都可以帮我解决如何建立链接强制下载文件,而不是在浏览器中打开所有浏览器. 我似乎找不到完整的浏览器校对解决方案.这不可能吗? 教程或片段的任何链接都很棒. 我的网站,如果基于PHP,可以使它与PHP一起使用,如果可行的话. 谢谢 解决方法
将Content-Disposition标头设置为“attachment”,就像这样(在PHP中):
header('Content-Disposition: attachment'); 您甚至可以为下载提供文件名(如果它与URL中给出的文件名不同): header('Content-Disposition: attachment; filename=file.ext'); 如果要直接在Apache服务器中执行此操作,请尝试以下操作: <FilesMatch ".(pdf|csv|xls)"> Header set Content-Disposition attachment </FilesMatch> (您可以在FilesMatch模式中添加更多扩展名) 如果可以的话,尽量避免使用application / octet-stream标头,也就是说,如果Content-Disposition在没有它的情况下工作.这是因为有些系统实际上会关注Content-Type并将其与文件一起保存.如果用户的系统可以找出文件的正确MIME类型,通常会更好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |