我有这样的代码片段,它曾经适用于以前版本的谷歌浏览器,但现在不起作用。当我运行此脚本时,我重定向到包含文件内容(它是文本)和 AWS URL(与 setAttribute 相同)的页面。
var element = document.createElement('a');
element.setAttribute('href', 'https://s3-us-east-1.amazonaws.com/XXX/XXX/XXX?Signature=XXX&Expires=XXX&AWSAccessKeyId=XXX');
element.setAttribute('download', 'filename.txt');
document.body.appendChild(element);
element.click();
如何下载这个文件?
最佳答案
我在评论中犯了一个错误。 Chrome 仍然支持下载属性,但如果 anchor 元素具有跨源属性(意思是,如果文件托管在不同的域上),它会完全忽略它。
为了能够下载它,文件需要提供 header :Content-Disposition: attachment;
查看本教程以了解如何在 s3 管理控制台中设置 Content-Disposition:http://iwantmyreal.name/s3-download-only-presigned-upload
关于javascript - 无法通过浏览器中的 URL 从 S3 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50151062/