从 Azure Blob 存储下载文件的示例
Examples of downloading files from Azure Blob Storage
我可以通过 Node/Express 毫无问题地将文件上传到 Azure blob 存储,但是我发现了非常少的 documentation/full 如何下载文件的示例。我在教程页面上找到了这个,但没有任何运气:
blobSvc.getBlobToStream('mycontainer', 'myblob', fs.createWriteStream('output.txt'), function(error, result, response){
if(!error){
// blob retrieved
}
});
有没有其他人使用 node.js/express 从 Azure blob 存储下载文件?您是否使用了 Azure 或其他方法(例如请求)。您能否分享如何从 Azure 获取文件并将其流式传输到文件夹?
有关于在 Node.js here 中使用 Azure 存储 Blob 的完整教程。本教程提到了 getBlobToLocalFile ,这听起来像您可能正在寻找的内容。此方法的语法应该与 getBlobToStream 非常相似,但您将提供文件路径而不是流。
我正在创建一个函数来下载 blob 文件夹(虚拟)和 returns 一个 zip 文件。最简单的实现是使用 getBlobToLocalFile 将它们下载为文件,导出为 .zip,最后删除临时文件。
这可能不是最好的解决方案,但更容易实施。
我知道这不是最有效的方法,但对我来说已经足够了。
第 1 步,获取 blob 列表:
blobService.listBlobsSegmentedWithPrefix(
containerName,
prefix,
null,
{ delimiter: "", maxResults: 100 },
(err, result) => {
if (err) {
reject(err);
} else {
resolve(result.entries);
}
}
);
第2步,本地保存:
blobs.map(blob => {
blobService.getBlobToLocalFile(
containerName,
blob.name,
`${baseDir}/${blob.name}`,
(err, blob) => {
if (err) {
//handle error
} else {
count++;
//do something after they all save
}
);
});
我可以通过 Node/Express 毫无问题地将文件上传到 Azure blob 存储,但是我发现了非常少的 documentation/full 如何下载文件的示例。我在教程页面上找到了这个,但没有任何运气:
blobSvc.getBlobToStream('mycontainer', 'myblob', fs.createWriteStream('output.txt'), function(error, result, response){
if(!error){
// blob retrieved
}
});
有没有其他人使用 node.js/express 从 Azure blob 存储下载文件?您是否使用了 Azure 或其他方法(例如请求)。您能否分享如何从 Azure 获取文件并将其流式传输到文件夹?
有关于在 Node.js here 中使用 Azure 存储 Blob 的完整教程。本教程提到了 getBlobToLocalFile ,这听起来像您可能正在寻找的内容。此方法的语法应该与 getBlobToStream 非常相似,但您将提供文件路径而不是流。
我正在创建一个函数来下载 blob 文件夹(虚拟)和 returns 一个 zip 文件。最简单的实现是使用 getBlobToLocalFile 将它们下载为文件,导出为 .zip,最后删除临时文件。 这可能不是最好的解决方案,但更容易实施。 我知道这不是最有效的方法,但对我来说已经足够了。
第 1 步,获取 blob 列表:
blobService.listBlobsSegmentedWithPrefix(
containerName,
prefix,
null,
{ delimiter: "", maxResults: 100 },
(err, result) => {
if (err) {
reject(err);
} else {
resolve(result.entries);
}
}
);
第2步,本地保存:
blobs.map(blob => {
blobService.getBlobToLocalFile(
containerName,
blob.name,
`${baseDir}/${blob.name}`,
(err, blob) => {
if (err) {
//handle error
} else {
count++;
//do something after they all save
}
);
});