从Azure Blob存储下载文件的示例

时间:2015-12-17 23:01:07

标签: node.js azure express azure-storage-blobs node-request

我可以通过Node / Express将文件上传到Azure blob存储而没有问题,但是找到了非常少的文档/完整的如何下载文件的示例。我在教程页面上找到了这个,但没有任何运气:

String decoded = java.net.URLDecoder.decode(econded ,"UTF-8");

有没有其他人使用node.js / express从Azure blob存储中下载文件?您使用的是Azure还是其他方法(例如请求)。您能分享如何从Azure获取文件并将其流式传输到文件夹吗?

2 个答案:

答案 0 :(得分:1)

有关使用Azure存储Blob和Node.js here的完整教程。该教程提到了getBlobToLocalFile,这听起来像你可能正在寻找的东西。此方法的语法应与getBlobToStream非常相似,但不是流,而是提供文件路径。

答案 1 :(得分:0)

我正在创建一个函数,该函数下载blob的文件夹(虚拟)并返回一个zip文件。最简单的实现是使用 getBlobToLocalFile 将它们下载为文件,导出为.zip,最后删除临时文件。 这可能不是最佳解决方案,但更易于实现。 我知道这不是最有效的方法,但是对我来说已经足够了。

第1步,获取blob列表:

Authorization: tokenabcdef

第2步,本地保存:

 blobService.listBlobsSegmentedWithPrefix(
  containerName,
  prefix,
  null,
  { delimiter: "", maxResults: 100 },
  (err, result) => {
    if (err) {
      reject(err);
    } else {
      resolve(result.entries);
    }
  }
);