在Azure Blob存储上强制下载IE9的文件

本文关键字:下载 IE9 文件 Azure Blob 存储 | 更新日期: 2023-09-27 18:15:47

我正在尝试使用Azure Blob存储作为使用共享访问签名的安全文件下载的位置。一切都工作得很好,但我遇到的问题是,我试图让用户从浏览器保存文件,我有除了IE9工作的所有浏览器。

回顾这个问题,

什么内容类型强制下载文本响应?

当我可以控制所有的标题时,这工作得很好,但是在Azure Blob存储中,我已经将Content-Type设置为application/octet-stream,这允许除了IE以外的所有浏览器要求用户保存文件,IE只是打开文件。似乎已知的文件类型将被打开(例如。jpg,。wmv等…)。

在Azure中,我没有办法设置

Content-Disposition: attachment;filename="My Text File.txt"

是否有一种方法,使用Azure Blob存储,使用IE直接从Azure Blob存储下载任何文件?

在Azure Blob存储上强制下载IE9的文件

我认为没有办法在Windows Azure blob存储中设置Content-Disposition标头。

现在可以右键单击资源属性

如果您正在使用@azure/storage-blob包来上传带有SAS的blobs,您可以通过设置如下所示的内容处置来强制下载文件。

在下面的例子中,一个*.png图像文件被下载时链接到,而不是浏览器默认的在新选项卡中打开:

blockBlobClient.upload(file.content, file.size, {
    blobHTTPHeaders: {
        blobContentType: "image/png",
        blobContentDisposition: "attachment"
    }
});