使用 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)
...
- 注意 - 这可用于为任何内容设置正确的 MIME 类型...但浏览器似乎在转换 .jpg、.png 等格式时没有问题...我只看到 .pdf 有问题。
我的同事找到了答案:
...
const blobOptions = {
blobHTTPHeaders: { blobContentType: 'application/pdf' },
... other options
};
Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...
并将 x-ms-blob-content-type
header 添加到 Azure 存储 CORS 设置。
要在浏览器中显示 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)
...
- 注意 - 这可用于为任何内容设置正确的 MIME 类型...但浏览器似乎在转换 .jpg、.png 等格式时没有问题...我只看到 .pdf 有问题。
我的同事找到了答案:
...
const blobOptions = {
blobHTTPHeaders: { blobContentType: 'application/pdf' },
... other options
};
Azure.uploadBrowserDataToBlockBlob(aborter, file, blob, blobOptions)
...
并将 x-ms-blob-content-type
header 添加到 Azure 存储 CORS 设置。