asp.net - 从 azure 存储下载 blob 时提示“保存”对话框

标签 asp.net azure

我有一个 ASP.NET Web 应用程序,用于从我的 Azure 存储下载 Blob。当我使用 blockBlob.DownloadToStream(fileStream); 时在本地计算机上运行 Web 应用程序时,它会自动将其下载到项目位置。但是,如果我想在云中部署此 Web 应用程序,如何获得一个对话框来保存要下载的 blob?

最佳答案

您可以做两件事:

  1. 将 Blob 的 content-type 属性设置为 application/octet-stream 或根本不设置 Blob 的内容类型。虽然这种方法可能适用于大多数浏览器,但并非适用于所有浏览器。 IE 对此非常聪明,它实际上会尝试从文件流中读取文件类型,并决定是在浏览器中显示该文件还是提示“另存为”。
  2. 首先将 Blob 下载到您的网络服务器上,然后通过将 Content Disposition 响应 header 值设置为“attachment;”之类的值来提供该文件。 filename="您的文件名"'。

关于asp.net - 从 azure 存储下载 blob 时提示“保存”对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19996849/

相关文章:

c# - 'Access-Control-Allow-Origin' header 包含多个值。但是我在标题中只定义了一个值?

c# - 将变量传递给 JS 文件

asp.net - 如何为 ASP.NET_SessionId cookie 设置 HttpOnly?

c# - Microsoft.Azure.Storage.StorageException : The account being accessed does not support http

c# - 如何使用开放策略代理验证分层 RBAC/ABAC 策略定义中的应用程序授权?

azure - 使用 SAS 将网络驱动器映射到 Azure Blob 存储

asp.net - Microsoft 的 AJAX 工具包与 jQuery

.net - 上传失败一次,然后正常工作

azure - 在 Azure Devops 发布管道上的 Appsettings.Json 中添加数组元素 通过 magic chunks 配置转换

c# - Azure 存储容器(通用 v2)告诉我无法从代码中标记 blob