首页 > 解决方案 > 使用 UploadBrowserDataToBlockBlob 从 Javascript 上传时在 Azure Blob 上设置 ContentType

问题描述

要在浏览器中显示 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)
...

标签: javascriptazurepdfcontent-typeazure-blob-storage

解决方案


我的同事找到了答案:

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

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

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


推荐阅读