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

Set ContentType on Azure Blob on upload from Javascript using UploadBrowserDataToBlockBlob

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

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

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

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

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

Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...

我的同事找到了答案:

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

Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...

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