簡體   English   中英

如何使用 nodejs 在 azure blob 存儲上設置 contenttype

[英]How to set contenttype on azure blob storage with nodejs

我有一個 nodejs 服務器,正在使用 azure-storage 模塊並嘗試將 wav 文件上傳到 azure blob 存儲。

我正在嘗試將 blob 上的 contentType 設置為“audio/wav”,但它在存儲中顯示為“application/octet-stream”。 代碼是:

 upload: function (id, buffer, mimeType, callback) {
    self = this;
    var size = buffer.length;
    var stream = streamifier.createReadStream(buffer);
    var options = { contentType: 'audio/wav' };
    self.blobService.createBlockBlobFromStream(self.containerName, id, stream, size, options,  function (error, result, response) {
        if (error) {
            callback(error);
        }
        callback(null);
    });
}

關於我做錯了什么的任何想法?

它再次更改,根據源代碼,上傳可以期待 BlockBlobUploadOptions,帶有可選的 blobHTTPHeaders 對象。 這使您可以在請求時為 blob 設置 http 標頭。 太糟糕了,沒有一個示例詳細說明上傳 blob 時要設置的內容。

這對我有用

const blobOptions = { blobHTTPHeaders: { blobContentType: 'text/plain' } };
const uploadBlobResponse = await blockBlobClient.upload(ascii, ascii.length, blobOptions);

根據Github源代碼中的注釋, option架構已更改,要定義contentType ,請嘗試使用以下代碼片段:

var options = {contentSettings:{contentType:'audio/wav'}}

任何進一步的問題,請隨時告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM