【问题标题】:How to download entire folder from Firebase Storage?如何从 Firebase 存储下载整个文件夹?
【发布时间】:2017-05-18 14:20:27
【问题描述】:

我想从 Firebase 存储中下载整个文件夹。我可以使用DownloadURL 下载单个文件,如下所示,但它不适用于文件夹。

var storageRef = firebase.storage().ref();

// Create a reference to the file we want to download
var starsRef = storageRef.child(path);

// Get the download URL
starsRef.getDownloadURL().then(function(url) {
  // Insert url into an <img> tag to "download"
  ImageUrl = url;

  console.log(ImageUrl);
}).catch(function(error) {
  switch (error.code) {
    case 'storage/object_not_found':
      // File doesn't exist
      break;

    case 'storage/unauthorized':
      // User doesn't have permission to access the object
      break;

    case 'storage/canceled':
      // User canceled the upload
      break;

    case 'storage/unknown':
      // Unknown error occurred, inspect the server response
      break;
  }
});

如何从 Firebase 下载整个文件夹?

【问题讨论】:

  • 关于您期望的预期行为的问题:所有文件的数组、包含所有文件的压缩文件夹,还是其他?
  • @MikeMcDonald 我想下载一个包含所有文件的压缩文件夹。
  • 这是一个优雅的解决方案,可以解决您的所有问题,在客户端一次下载所有文件作为单个 .zip 文件:stackoverflow.com/a/66732338/8138591(2021 年 3 月 21 日)

标签: javascript firebase firebase-storage


【解决方案1】:

您可以使用gsutil下载整个存储桶

gsutil -m cp -R gs://<bucket_name> .

【讨论】:

  • 最简单的解决方案!
  • 不要忘记在 gsutil 命令后输入目标 URL,如下所示:gsutil cp -r gs://&lt;bucket_name&gt;.appspot.com Downloads 目标 URL 必须命名为目录、存储桶或存储桶子目录。
  • 一件事让我有点不知所措是我忘了在上面的答案末尾添加.. 很重要 :)
  • gsutil安装参考this
  • 但是,这是系统级安装吧?如何通过 Node API 归档?
【解决方案2】:

Firebase 存储中没有用于下载文件夹中所有文件的 API。您必须逐个下载文件,或创建一个包含所有文件的 zip 文件。

正如Lahiru's answer 显示的那样可以通过gsutils 完成,但这是服务器端操作 - 不是您在客户端应用程序中运行的操作。

相关:

【讨论】:

  • 我找不到获取所有文件并从上述相关链接创建 zip 文件的方法。请给我一些提示,以找到一种方法来创建包含所有文件的 zip 文件。感谢您的回复。
【解决方案3】:

Windows 的命令 gustil !!!

gsutil cp -r gs://<bucket_name>.appspot.com/OBJECT_NAME "D:\path"

为 PowerShell 使用云工具

安装windows的参考>>https://cloud.google.com/storage/docs/gsutil_install

【讨论】:

    猜你喜欢
    • 2023-01-10
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2023-04-01
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多