link.download不会将图像下载到桌面

时间:2014-07-03 19:50:27

标签: javascript save internet-explorer-11

我尝试使用link.download = "";命令通过JavaScript在本地保存文件。我想要做的是获取存储在服务器上的图像,并将其保存在用户的桌面上。这是我的代码:

function savePhoto(link){
    link.href = "img/profile01.jpg";
    link.download = "photo.jpg";
}

它会在FireFox中打开下载对话框而不会出现问题,并且可以在Chrome中正常下载。但是,Internet Explorer 11通过将图像地址放入URL栏而不是提供“保存文件”对话框,在同一窗口中打开图像。

火狐:

FireFox result works

IE 11:

IE 11 result doesn't work

是否有针对IE的解决方法,因此我可以提供“保存文件”对话框,而不是在浏览器中显示图像?

1 个答案:

答案 0 :(得分:1)

“下载”属性在IE中甚至在Safari中都不起作用。

您可能希望更改标题:

Content-disposition: attachment; filename=huge_document.pdf

huge_document.pdf将是您的文件名。

以下是使用PHP的方法:

<?php
header("Content-disposition: attachment; filename=huge_document.pdf");
header("Content-type: application/pdf");
readfile("huge_document.pdf");
?>

您可以将服务器配置为使用该标头。