我正在寻找一种解决方案,用于流传输我的zip文件,以便将其发送到azure blob存储。 目前,这就是我拥有的
async _uploadStreamToBlob(zipFile, fileName) {
const blobService = await this.__self.blobStorage.createBlobService(this.__self.blobStorageConnectionString);
const containerName = this.__self.blobContainerName;
const sourceFilePath = `${path.resolve(zipFile)}`;
const streamSource = fs.createReadStream(sourceFilePath);
return new Promise((resolve, reject) => {
streamSource.pipe(blobService.createWriteStreamToBlockBlob(containerName, fileName, error => {
if (error) {
reject(error);
} else {
resolve({ message: `Upload of '${fileName}' complete` });
}
}));
});
};
这显然不起作用,因为fileStream将零字节输入到管道中,导致成功将0字节zipFile上传到blob存储中。 如何将zipFile流式传输到azureWriteStream?或者如何从zipFile中获取字节(保留内容)? 如果还有其他方法可以做到这一点,我全神贯注。 谢谢
答案 0 :(得分:0)
直接使用createBlockBlobFromLocalFile:
blobService.createBlockBlobFromLocalFile(containerName, fileName, sourceFilePath, (err) => {
// Handle err
});