我有一个 ASP.NET Web 应用程序,用于从我的 Azure 存储下载 Blob。当我使用 blockBlob.DownloadToStream(fileStream); 时在本地计算机上运行 Web 应用程序时,它会自动将其下载到项目位置。但是,如果我想在云中部署此 Web 应用程序,如何获得一个对话框来保存要下载的 blob?
最佳答案
您可以做两件事:
- 将 Blob 的
content-type
属性设置为application/octet-stream
或根本不设置 Blob 的内容类型。虽然这种方法可能适用于大多数浏览器,但并非适用于所有浏览器。 IE 对此非常聪明,它实际上会尝试从文件流中读取文件类型,并决定是在浏览器中显示该文件还是提示“另存为”。 - 首先将 Blob 下载到您的网络服务器上,然后通过将
Content Disposition
响应 header 值设置为“attachment;”之类的值来提供该文件。 filename="您的文件名"'。
关于asp.net - 从 azure 存储下载 blob 时提示“保存”对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19996849/