gpt4 book ai didi

javascript - 使用纯 JavaScript 和 Azure-Storage-Js 下载 Azure 存储 Blob

转载 作者:行者123 更新时间:2023-12-03 00:01:30 24 4
gpt4 key购买 nike

我正在尝试仅使用纯 Javascript 和 SDK 来完成此操作。我使用 Node.js。我正在将我的应用程序从 SDK azure-storage-js-v10 v2 转换为 v10

The azure-storage.blob.js bundled file is compatible with UMD standard, if no module system is found, following global variable will be exported: 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 正常工作,任何帮助将不胜感激。

谢谢

最佳答案

需要通过await blobBody获取body。

downloadBlobResponse = await blobURL.download(azblob.Aborter.none, 0);

// data is a browser Blob type
const data = await downloadBlobResponse.blobBody;

关于javascript - 使用纯 JavaScript 和 Azure-Storage-Js 下载 Azure 存储 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55151220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com