[英]Uploading a file from javascript frontend to S3 bucket using presigned URL return error 400
[英]Downloading Excel (.xlsx) File In Frontend Javascript Via Amazon Presigned URL
我有一个 amazon S3 URL 从格式如下的外部服务传回给我:
我对 S3 的工作不多,但我的理解是这是一个预签名的 URL - 我可以将它粘贴到我的浏览器和 excel 文件下载中。
我怎样才能直接使用 javascript 下载这个文件(在前端,因为我的系统没有运行节点)?
我已尝试通过单击生成标记元素 - 但是我的所有文件都已损坏下载。 我可以通过在浏览器中粘贴链接直接下载文件,它会自动启动下载。
任何帮助将不胜感激。
我尝试了以下方法,但它下载了一个错误的文件:
var link = document.createElement('a');
link.href = url;
link.download = 'foo.xlsx';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
您不需要 JS 来强制单击链接进行下载; 你可以只用 HTML 来做到这一点。而且,源是预签名的 S3 URL 并不重要 - 它适用于任何 URL。
<a href=“Foo.xlsx” download>click to download</a>
应该会为您完成。
查看https://www.w3schools.com/howto/howto_html_download_link.asp浏览器支持矩阵。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.