javascript - 带有重命名的 ASP.NET Core AzureBlob 下载文件
问题描述
我的页面上有以下代码:
<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 的行为不同,因此明确设置它可能会解决您的第二个问题。
推荐阅读
- html - 如何通过道具将html模板传递给反应组件?
- python - MPEG-2 AAC 逐帧音频解码
- javascript - JQuery - 如何重用来自 JSON 的数据?
- vhdl - 为什么信号不在进程内部更新?
- recursion - 证明动态编程中的记忆化并不总是有帮助的反例
- swift - 从 firebase 获取与用户 uid 相关的用户名以显示评论
- python - 遍历文本文件,查找关键字,创建字典,然后将字典附加到字典列表
- mysql - 如何在 mysql 工作台中找到结果网格
- gradle - Gradle 项目命名约定
- regex - 使用 Perl 的正则表达式查找项目