在我的PHP网站上,我有一个'下载区',其中有一个选择框和一个下载按钮。首先,用户选择该文件,然后单击“下载”。
下载按钮会触发window.location = "...... .exe"
命令,Google Chrome根本不喜欢该命令:
问题
答案 0 :(得分:1)
为什么apache2在重定向时会使用不同的MIME类型?
没有。 application/x-msdos-program
是.exe
个文件的正确MIME类型。
如果没有复杂的解决方法(如手动输入MIME类型?
),如何更正此错误
你做不到。您在Chrome浏览器中看到的错误会显示在所有不熟悉的已下载.exe
文件中,无论其MIME类型如何。
答案 1 :(得分:1)
在我的情况下,我使用以下一组标题解决了它:
Cache-Control: max-age=864000
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="....zip"
Content-Transfer-Encoding: binary
Last-Modified: ...
Etag: ...
Content-Length: ...
要特别注意Content-Type,Cache-Control,Last-Modified和Etag,这对我来说似乎是有用的标题。