簡體   English   中英

帶重命名的 ASP.NET Core AzureBlob 下載文件

[英]ASP.NET Core AzureBlob download file with rename

我的頁面上有以下代碼:

<a class="btn-default btn" href="<AzureBlobContainerUrl>/<guid>.psd" download="@Model.FileName" target="_blank">Download 
    <span class="glyphicon glyphicon-export"></span>
</a>

@Model.FileName 代表例如“MyPhotoshopFile.psd”

第一個問題:下載的文件使用原始 GUID 作為文件名,而不是例如“MyPhotoshopFile.psd”。

第二個問題:如果文件是例如 PDF,那么 Google 會直接在當前瀏覽器選項卡中打開該文件,而不是下載它。

任何解決方案?

對於第一個問題,請嘗試在 blob 上設置 Content-Disposition 屬性。 如果您使用的是 C# SDK,則獲取 blob,您可以使用以下內容設置 CD:

blob.FetchAttributes();
blob.Properties.ContentDisposition = string.Format("attachment;filename=\"{0}\"", yourFileName);
blob.SetProperties();

基於這個較舊的問題( Chrome 下載屬性不起作用), Chrome 中的“下載”屬性根據 CD 的行為不同,因此明確設置它可能會解決您的第二個問題。

嗯,非常感謝你的提示! 首先,代碼和您的建議不起作用(azure blos 存儲服務忽略了 CD 屬性),但經過幾個小時的研究,我發現了問題:

  • AccountKind StorageV2(通用V2)與CD屬性工作
  • AccountKind BlobStorage運行沒有任何問題

我重新創建了 Blob 存儲並使用了舊的 BlobStorage 帳戶類型。 有了這個 ContentDisposition 屬性正在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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