我有这种情况,我们将媒体文件存储在全球 CDN 上。我们的网络应用程序托管在它自己的服务器上,然后在需要媒体资产时从 CDN url 调用它们。最近我们有一个用户可以下载文件附件的页面,但是某些文件类型是在浏览器中打开而不是下载(例如 MP3)。解决这个问题的唯一方法是手动指定附加文件的 HTTP 响应,但我能做到这一点的唯一方法是将文件从 CDN 下载到我的服务器,然后将其反馈给用户,这违背了拥有它的目的在全球 CDN 上。相反,我想知道是否有一些客户端解决方案?
编辑:刚刚在某个地方找到了这个,虽然我不确定它是否能在所有浏览器中正常工作?
<body>
<script>
function downloadme(x){
myTempWindow = window.open(x,'','left=10000,screenX=10000');
myTempWindow.document.execCommand('SaveAs','null','download.pdf');
myTempWindow.close();
}
</script>
<a href=javascript:downloadme('/test.pdf');>Download this pdf</a>
</body>
重新编辑:哦,好吧,这个想法就这么多-> execCommand SaveAs 在 Firefox 中工作吗?