如果将多个文件上传到 Firebase 存储,是否 admin.storage.object contain/process 多个文件?
Does admin.storage.object contain/process multiple files if multiple files are uploaded to Firebase Storage?
我正在尝试将文件上传到 Firebase 存储中的单独文件夹中。事实证明,您无法使用 JavaScript Web Client SDK for Storage 实现此目的。但是,您似乎可以使用 Admin SDK for Storage 使用 Firebase Functions 来做到这一点。这就是我想要做的。我了解到您需要先将文件下载到 Firebase Functions 中,然后重新上传到 Storage 中的新文件夹中。
要下载文件,我需要从客户端传递它的引用,这让我感到困惑。我目前正在通过 returns 项目和前缀的 listAll() 函数获取客户端中所有上传的文件。我想知道我是否可以使用项目或前缀,然后使用它们(项目或前缀)将文件下载到 Firebase 函数中。或者,我可以传递 URL。不过问题来了,以后在Functions中用什么方法获取和下载呢?
我知道 admin.storage.object,如 https://firebase.google.com/docs/storage/extend-with-functions#trigger_a_function_on_changes 中所述。但是,它是否处理多个文件?换句话说,据我了解,该对象是一个上传到存储的文件,您可以使用其 object.bucket 或 object.name 等属性来访问更多信息。但是如果有多个文件同时上传,是不是一个一个处理呢?另外,如果我传递需要从客户端下载的文件的引用或 URL,admin.storage.object 是正确的选择吗?因为它似乎只是简单地处理所有上传到存储的文件,而不是从客户端获取任何引用。
此外,还有关于如何下载文件(https://firebase.google.com/docs/storage/extend-with-functions#example_image_transformation)的描述,代码如下: await bucket.file(filePath).download({destination: tempFilePath});
我知道文件路径基本上是存储中已经存在的文件的名称(例如 /someimage)。但是,如果还有其他同名文件怎么办?可能下载了错误的文件?以及如何确保文件路径是我从客户端传递的文件?
让我知道您的想法以及我是否正朝着正确的方向前进。如果您在答案中包含代码,请将其写在 JavaScript 中用于 Web。谢谢。
谢谢!
我正在尝试将文件上传到 Firebase 存储中的单独文件夹中。事实证明,您无法使用 JavaScript Web Client SDK for Storage 实现此目的。但是,您似乎可以使用 Admin SDK for Storage 使用 Firebase Functions 来做到这一点。这就是我想要做的。我了解到您需要先将文件下载到 Firebase Functions 中,然后重新上传到 Storage 中的新文件夹中。
要下载文件,我需要从客户端传递它的引用,这让我感到困惑。我目前正在通过 returns 项目和前缀的 listAll() 函数获取客户端中所有上传的文件。我想知道我是否可以使用项目或前缀,然后使用它们(项目或前缀)将文件下载到 Firebase 函数中。或者,我可以传递 URL。不过问题来了,以后在Functions中用什么方法获取和下载呢?
我知道 admin.storage.object,如 https://firebase.google.com/docs/storage/extend-with-functions#trigger_a_function_on_changes 中所述。但是,它是否处理多个文件?换句话说,据我了解,该对象是一个上传到存储的文件,您可以使用其 object.bucket 或 object.name 等属性来访问更多信息。但是如果有多个文件同时上传,是不是一个一个处理呢?另外,如果我传递需要从客户端下载的文件的引用或 URL,admin.storage.object 是正确的选择吗?因为它似乎只是简单地处理所有上传到存储的文件,而不是从客户端获取任何引用。
此外,还有关于如何下载文件(https://firebase.google.com/docs/storage/extend-with-functions#example_image_transformation)的描述,代码如下: await bucket.file(filePath).download({destination: tempFilePath}); 我知道文件路径基本上是存储中已经存在的文件的名称(例如 /someimage)。但是,如果还有其他同名文件怎么办?可能下载了错误的文件?以及如何确保文件路径是我从客户端传递的文件?
让我知道您的想法以及我是否正朝着正确的方向前进。如果您在答案中包含代码,请将其写在 JavaScript 中用于 Web。谢谢。
谢谢!