我看过类似的问题,但到目前为止还无法解决这个问题:
我正在尝试在单击锚点时下载位于Azure Blob存储中的文件(mp4)。这目前适用于Chrome,Firefox,Safari等,但据我所知,IE并不支持download
属性。
我可以访问存储帐户,因此尝试将内容类型更改为application/force-download
,将内容处置更改为attachment;filename=someName.
这解决了Firefox跨域限制的问题,但仍然没有IE的喜悦。我尝试了application/octet-stream
,但这也没有用。
目前在IE11中它试图打开Windows Media Player(不知道为什么),但在IE10中并没有发生任何事情,浏览器只是在尝试导航到blob存储URL时挂起。
接下来是尝试一些客户端。使用Jquery我尝试了以下内容:
$('.fallback[data-auto-download]').click(function () {
var $this = $(this);
window.location = $this.attr('href'); //download file
setTimeout(function () {
window.location.href = "/Content/Confirmation";
}, 3000); //redirect to new page after timeout
});
这就是它在标记中的样子:
<a class="fallback" data-auto-download href="http://someBlobURL">Download video</a>
如上所述,这不适用于IE。目前有什么方法可以让它发挥作用吗?研究表明要改变内容类型,但似乎并没有让它发挥作用。
请注意:我们无法使用右键单击来保存目标,因为此项目需要在启动文件下载时加载新页面。