我有一个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);
});
}
关于我做错什么的任何想法?
答案 0 :(得分:8)
根据Github源代码中的评论,option
架构已更改,要定义contentType
,请尝试使用以下代码段:
var options = {contentSettings:{contentType:'audio/wav'}}
如有任何疑问,请随时告诉我。
答案 1 :(得分:1)
它再次发生了变化,根据源代码,上载可以包含一个BlockBlobUploadOptions和一个可选的blobHTTPHeaders对象。这使您可以设置在请求时为blob设置的http标头。 太糟糕了,没有一个样本详细说明上传Blob时要设置的内容。
这对我有用
const blobOptions = { blobHTTPHeaders: { blobContentType: 'text/plain' } };
const uploadBlobResponse = await blockBlobClient.upload(ascii, ascii.length, blobOptions);