IE和Edge忽略了应用程序/八位字节流MIME类型

时间:2019-01-05 01:48:28

标签: apache .htaccess internet-explorer mime-types microsoft-edge

最近,我为下载创建了一个子域,我希望浏览器下载文件而不是查看文件。为此,我将以下行添加到.htaccess文件中:

AddType application/octet-stream .txt .png .jpg .jpeg .gif .exe .zip .rar .gz .sh .bat .doc .docx

在Firefox和Google Chrome上可以使用,但是Microsoft浏览器-Internet Explorer和Microsoft Edge都忽略了MIME类型,而是查看了它们。我还可以如何强迫他们也下载文件?

1 个答案:

答案 0 :(得分:0)

我可以看到您已经在一行中添加了所有文件类型。因此,您可以尝试将它们添加到单独的行中,以检查它是否可以解决您的问题。

根据我的搜索,我发现IE可以使用下面的代码。因此,您也可以使用它进行测试。

# Force PDF Download instead of display

<FilesMatch "\.pdf$">

ForceType applicaton/octet-stream

Header set Content-Disposition attachment

</FilesMatch>

## End Force PDF Download instead of display

参考:

Forcing a file to download in a browser via htaccess

如果您使用的是PHP,则可以尝试参考以下方法。

PHP允许您更改正在编写的文件的HTTP标头,以便您可以强制下载通常会在同一窗口中加载的文件。对于要让客户下载而不是在线阅读的PDF,文档文件,图像和视频等文件而言,这是完美的选择。使用PHP,您可以利用PHP内置的readfile函数:

$file_url = 'http://www.example.com/file.pdf';

header('Content-Type: application/octet-stream');

header("Content-Transfer-Encoding: Binary");

header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");

readfile($file_url);

exit();

参考:

(1)Force Files to Download and Not Open in Browser Using Apache or PHP

(2)Force save files all browsers - not open in browser window