当前位置: 首页 > 知识库问答 >
问题:

使用管理SDK将文件上载到Firebase存储

蓟辰沛
2023-03-14

根据文档,我必须把文件名传递给函数才能上传一个文件。

// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
  // Support for HTTP requests made with `Accept-Encoding: gzip`
  gzip: true,
  metadata: {
    // Enable long-lived HTTP caching headers
    // Use only if the contents of the file will never change
    // (If the contents will change, use cacheControl: 'no-cache')
    cacheControl: 'public, max-age=31536000',
  },
});

我想能做这样的事


app.use(req: Request, res: Response) {
 const file = req.file;
// upload file to firebase storage using admin sdk
}

共有1个答案

金令秋
2023-03-14

因为Firebase Admin SDK只是包装了Cloud SDK,所以可以使用Cloud Storage Node.js API文档作为参考,看看它能做什么。

您不必提供本地文件。您也可以使用节点流上传。有一个方法file.createWriteStream(),它为您提供一个WritableStream。还有一个file.save(),它接受多种类型的东西,包括一个缓冲区。这里有使用每种方法的示例

 类似资料:
  • Firebase Admin SDK文档清楚地说明,服务帐户对存储帐户具有完全的范围控制,但由于传输令牌源为nil,因此正确引导凭据似乎有些错误。

  • 但事实证明,Firebase无法从服务器端上传文件,正如它在文档中明确说明的那样: Firebase存储不包括在服务器端Firebase npm模块中。相反,您可以使用gcloud Node.js客户机。 我的第二次尝试是使用库,就像文档中提到的:

  • 这是很有帮助的,因为我能够上传一个与管理员使用它的文件。 虽然我仍然不知道如何指定路径,因为这只是把它放在我的firebase存储桶的顶层。有人知道我如何指定一个路径将我的文件与API嵌套得更深吗?

  • 问题内容: 我试图了解如何使用Node.js在Firebase Storage中上传文件。我的第一次尝试是使用Firebase库: 但是事实证明,Firebase无法从服务器端上传文件,正如在文档中明确指出的那样: Firebase存储不包含在服务器端Firebase npm模块中。相反,您可以使用gcloud Node.js客户端。 在代码中,您可以使用以下方式访问存储分区: 我们可以在没有Go

  • 我试图从我的移动混合应用程序(离子3)发送一张图片到我的Heroku后端(Node.js),并让后端将图片上传到Firebase存储,并将新上传的fil下载url返回到移动应用程序。 上载成功,但当我转到Firebase存储控制台时,当我试图显示图片的预览时出现错误,下载时无法从计算机打开它。我想这是一个编码的东西...? 如何检索新上传的文件下载url?我希望在中返回一个对象,就像在函数中一样,