使用 UploadBrowserDataToBlockBlob 从 Javascript 上传时在 Azure Blob 上设置 ContentType

Rus*_*kin 0 javascript pdf content-type azure azure-blob-storage

要在浏览器中显示 PDF 文件 - 而不是下载 - 您需要为它们提供application/pdf内容类型标题。

默认情况下,Azure Blob 存储文件设置为application/octet-stream. 内容类型可以在后端通过在 blob 上更新来更改......我们想在上传时设置它。

使用@azure/storage-blob文档) npm 包上传 PDF 文件,我们找不到正确的设置方法。

尝试了以下代码的多次迭代无济于事。

...
const blobOptions = {
    metadata: { 'contentType': 'application/pdf' },
    ... other options
};

Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...
Run Code Online (Sandbox Code Playgroud)
  • 注意 - 这可用于为任何内容设置正确的 mime 类型……但浏览器似乎在转换 .jpg、.png 等时没有问题……只有我见过的 .pdf 有问题。

Rus*_*kin 7

我的同事找到了答案:

...
const blobOptions = {
    blobHTTPHeaders: { blobContentType: 'application/pdf' },
    ... other options
};

Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...
Run Code Online (Sandbox Code Playgroud)

并将x-ms-blob-content-type标头添加到 Azure 存储 CORS 设置。