通过Amazon预签名URL下载前端Javascript中的Excel(.xlsx)文件

通过Amazon预签名URL下载前端Javascript中的Excel(.xlsx)文件,javascript,excel,amazon-web-services,amazon-s3,Javascript,Excel,Amazon Web Services,Amazon S3,我有一个amazon S3 URL从外部服务传回给我,格式如下: 我对S3没有太多的了解,但我的理解是这是一个预先签名的URL-我可以将它粘贴到我的浏览器和excel文件下载中 如何使用javascript直接下载此文件(在前端,因为我的系统没有运行node) 我试着用click生成一个标记元素,但是我下载的所有文件都已损坏。我可以通过在浏览器中粘贴链接直接下载文件,它会自动启动下载 任何帮助都将不胜感激 我尝试了以下操作,但它下载了一个错误文件: var link = documen

我有一个amazon S3 URL从外部服务传回给我,格式如下:

我对S3没有太多的了解,但我的理解是这是一个预先签名的URL-我可以将它粘贴到我的浏览器和excel文件下载中

如何使用javascript直接下载此文件(在前端,因为我的系统没有运行node)

我试着用click生成一个标记元素,但是我下载的所有文件都已损坏。我可以通过在浏览器中粘贴链接直接下载文件,它会自动启动下载

任何帮助都将不胜感激

我尝试了以下操作,但它下载了一个错误文件:

    var link = document.createElement('a');
    link.href = url;
    link.download = 'foo.xlsx';
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);

你不需要JS在点击链接时强制下载;您只需使用HTML就可以做到这一点。而且,源代码是否是预先指定的S3URL并不重要——它可以与任何URL一起工作

应该为您做这件事


查看浏览器支持列表。

感谢Tom的帮助。希望它能起作用。如果是的话,你可以把我的答案标记为接受。