gpt4 book ai didi

php - 强制在所有浏览器中保存文件 - 不在浏览器窗口中打开

转载 作者:可可西里 更新时间:2023-10-31 22:57:43 25 4
gpt4 key购买 nike

我正在寻求一种适用于所有浏览器的简单解决方案。

对于特定文件类型或通过类的目标链接:我怎样才能让它们在所有主流浏览器中简单地强制下载。

我以为我找到了 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 header 设置为“附件”,就像这样(在 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 header ,也就是说,如果 Content-Disposition 在没有它的情况下也能正常工作。那是因为有些系统实际上会注意 Content-Type 并将其与文件一起保存。如果用户的系统能够找出文件的正确 MIME 类型,通常对用户来说更好。

关于php - 强制在所有浏览器中保存文件 - 不在浏览器窗口中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com