![](/img/trans.png)
[英]Secure File Download Using Blazor Webassembly and ASP.NET Core
[英]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 屬性),但經過幾個小時的研究,我發現了問題:
我重新創建了 Blob 存儲並使用了舊的 BlobStorage 帳戶類型。 有了這個 ContentDisposition 屬性正在工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.