网上流传的许多并不能用的答案, 常见的是这样的:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<button onclick="down()">down</button>
<script type="text/javascript">
function down(){
    location = "/downloadpic/icon.png"
    var    pic   =   window.open(location,"a1")   
    pic.document.execCommand("SaveAs") 
}  
</script>
</body>
</html>

这儿的问题是, window.open只会打开新窗口, 并且在新窗口中打开文件. 如果文件是图片, 浏览器只会显示而不是下载.
并且, pic.document.execCommand("SaveAs") 这一句似乎并没有什么用.

下面是正确答案. 使用标签, 加download属性, 就这么简单.

<body>
<a href="icon.png" download>download icon</a>
</body>

还可以为download属性指定下载文件名称:

<body>
<a href="icon.png" download="new_icon.png">download icon</a>
</body>

标签: none 阅读量: 1801

添加新评论