【发布时间】:2019-08-04 16:20:30
【问题描述】:
我正在尝试仅使用纯 Javascript 和 SDK 来执行此操作。我不使用 Node.js。我正在将我的应用程序从 v2 转换为 v10 的 SDK azure-storage-js-v10
azure-storage.blob.js 捆绑文件与 UMD 兼容 标准,如果没有找到模块系统,跟随全局变量 将被导出:azblob
我的代码在这里:
const serviceURL = new azblob.ServiceURL(`https://${account}.blob.core.windows.net${accountSas}`, pipeline);
const containerName = "container";
const containerURL = azblob.ContainerURL.fromServiceURL(serviceURL, containerName);
const blobURL = azblob.BlobURL.fromContainerURL(containerURL, blobName);
const downloadBlobResponse = await blobURL.download(azblob.Aborter.none, 0);
downloadBlobResponse 如下所示: downloadBlobResponse
使用 v10,如何将 downloadBlobResponse 转换为新的 blob,以便在FileSaver saveAs() 函数中使用?
在azure-storage-js-v2 中,此代码适用于较小的文件:
let readStream = blobService.createReadStream(containerName, blobName, (err, res) => {
if (error) {
// Handle read blob error
}
});
// Use event listener to receive data
readStream.on('data', data => {
// Uint8Array retrieved
// Convert the array back into a blob
var newBlob = new Blob([new Uint8Array(data)]);
// Saves file to the user's downloads directory
saveAs(newBlob, blobName); // FileSaver.js
});
我已尽一切努力让 v10 工作,任何帮助将不胜感激。
谢谢,
【问题讨论】:
标签: javascript azure-storage azure-blob-storage filesaver.js