簡體   English   中英

在前端下載 Excel (.xlsx) 文件 Javascript 通過亞馬遜預簽名 URL

[英]Downloading Excel (.xlsx) File In Frontend Javascript Via Amazon Presigned URL

我有一個 amazon S3 URL 從格式如下的外部服務傳回給我:

https://foo.s3.amazonaws.com/ProjectDownloads/foo/title.xlsx?AWSAccessKeyId=foo&Expires=1602279238&Signature=foo

我對 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM