<a href="path/to/file/filename.xxx" download="filename.xxx">filename</a>'
当我点击链接,我filename.xxx应该下载。
它完美的铬。 但是,在Internet Explorer中,它会打开文件,而不是下载。 可能是什么问题呢? 是否有要添加,使其在IE浏览器的任何属性。
同时,我需要对所有的浏览器上运行文件下载样本。
<a href="path/to/file/filename.xxx" download="filename.xxx">filename</a>'
当我点击链接,我filename.xxx应该下载。
它完美的铬。 但是,在Internet Explorer中,它会打开文件,而不是下载。 可能是什么问题呢? 是否有要添加,使其在IE浏览器的任何属性。
同时,我需要对所有的浏览器上运行文件下载样本。
下载属性没有在IE(见支持http://caniuse.com/#search=download%20attribute )。
这表明,在下载属性只能通过火狐,Chrome,Opera和黑莓浏览器的最新版本的支持。
对于其他浏览器,你将需要使用更传统的方法来强制下载。 这是服务器端的代码是必要的设置适当的Content-Type和Content-Disposition头告诉(或技巧取决于你的观点)的浏览器下载项目。 头应该是这样的:
Content-Type: application/octet-stream
Content-Disposition: attachment;filename=\"filename.xxx\"
(感谢antyrat为标题的复制和粘贴)
应固定在服务器端。 您的服务器应该返回这个标题为这个文件类型:
Content-Type: application/octet-stream
Content-Disposition: attachment;filename=\"filename.xxx\"
压缩文件(.zip文件)和IE浏览器将给用户打开或下载文件的选项。
apache2的服务器:
AddType application/octect-stream .ova
文件位置将取决于Apache2的特别版本 - 我们在/etc/apache2/mods-available/mime.conf
参考:
https://askubuntu.com/questions/610645/how-to-configure-apache2-to-download-files-directly
这必须是HTTP标头的问题。
在这里看到: HTTP头文件下载
服务器应该告诉你的浏览器通过向下载文件
Content-Type: application/octet-stream;
Content-Disposition: attachment;
在头
这不是一个代码问题。 这是默认的IE设置
要改变“ 一直开着 ”设置:
编辑:如果你问我,反而让代码中的任何改变,我会添加以下文本“Internet Explorer用户:要下载文件”, 右击 “链接,然后点击” 目标另存为 “下载文件”。
编辑2:该解决方案将完全为你工作。 它是一个解决方案,我只是从对方的回答复制。 我不是试图通过它作为我自己
Content-Type: application/octet-stream
Content-Disposition: attachment;filename=\"filename.xxx\"
然而,你必须确保你指定你允许文件(S)的类型。 你已经在你想这对任何类型的文件你的文章中提到。 这将是一个问题。
对于前。 如果你的网站有图片,如果最终用户点击这些图片,然后他们将他的电脑,而不是在一个新的页面打开上都可以下载。 得到了点。 所以,你需要指定的文件扩展名。
据了解HTTP标头的问题与Internet Explorer。 尝试编辑您的服务器.htaccess
文件(如果你使用Apache),并包括以下规则:
# IE: force download of .xxx files
AddType application/octect-stream .xxx
<Files *.xxx>
ForceType application/octet-stream
Header Set Content-Disposition attachment
</Files>
你可以在你的HTTP标头配置此
httpResponse.setHeader("Content-Type", "application/force-download");
httpResponse.setHeader("Content-Disposition",
"attachment;filename="
+ "MyFile.pdf");