3 回答
TA贡献1777条经验 获得超3个赞
有许多方法可以触发下载。以下是一些:
使用表格:
<form method="get" action="mydoc.doc">
<button type="submit">Download</button>
</form>
使用javascript:
<button type="submit" onclick="window.open('mydoc.doc')">Download</button>
TA贡献1802条经验 获得超6个赞
如果文件非常小,您可以使用
a
与href='data:[<mediatype>][;base64],<data>'
。这可以允许您在
mediatype
模拟HTTP标头中添加内容处置。在中小型文件中,可以使用AJAX下载文件,然后使用Javascript File API来提示文件保存(API不支持保存,但很容易将数据转换为数据URL)。
如果您想避免使用Javascript File API,可以尝试模拟锚点击,如此处所示。
再次,正如Leo Farmer所指出的,这些解决方案不能保证浏览器不会在新选项卡中打开文件而不是将其保存到磁盘,但我认为可以安全地说所有用户都可以优雅地降级为cmd+S
或ctrl+S
键盘快捷键:-)
TA贡献1826条经验 获得超6个赞
您可以使用download属性和jquery执行此操作。下载属性不支持ie和safari / ios。所以你可以使用jquery来做到这一点
$('.download').click(function(e) {
e.preventDefault(); //stop the browser from following
window.location.href = 'uploads/file.doc';
});
<a href="no-script.html" class="download">Download</a>
添加回答
举报