【问题标题】:Set ContentType on Azure Blob on upload from Javascript using UploadBrowserDataToBlockBlob使用 UploadBrowserDataToBlockBlob 从 Javascript 上传时在 Azure Blob 上设置 ContentType
【发布时间】:2020-02-08 20:00:33
【问题描述】:

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

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

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

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

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

Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...
  • 注意 - 这可以用来为任何东西设置正确的 mime 类型……但浏览器似乎没有问题转换 .jpg、.png 等……只有我见过的 .pdf 有问题。李>

【问题讨论】:

    标签: javascript azure pdf content-type azure-blob-storage


    【解决方案1】:

    我的同事找到了答案:

    ...
    const blobOptions = {
        blobHTTPHeaders: { blobContentType: 'application/pdf' },
        ... other options
    };
    
    Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
    ...
    

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

    【讨论】:

    • 第一次工作,感谢更新答案
    • 努力从角度的流响应中打开 pdf,谢谢!
    • 在找到这个之前,我查看了 6 种不同的方法,它就像一个魅力!谢谢你拯救我的理智!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2014-08-28
    • 2018-07-11
    • 2020-05-13
    • 1970-01-01
    • 2020-09-17
    • 2020-05-02
    相关资源
    最近更新 更多