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

使用node.js进行Firebase存储/桶公共上载

卫嘉言
2023-03-14

代码:

var storage = require('@google-cloud/storage');
var gcs = storage({
    projectId: config.google.projectId,
    keyFilename: config.google.keyFilenameFirebase
});

var bucket = gcs.bucket('project-id.appspot.com');
var destination = 'uploads/12345/full.jpg';

bucket.upload(myFile, { public: true, destination: destination }, function(err, file) {
    if (err) {
        console.log(err);
    }
});

我的文件已成功上载到我的firebase存储,但是:

    null

共有1个答案

敖硕
2023-03-14

1)只要它始终是公共的,它就不会过期。(我在底部添加了一个与此相关的链接)

2)以下是快速修复方法。(您可以执行以下任一操作)

  • 在默认ACL中添加自己(下面是使用gsutil的命令)
    null

需要注意的是,这些请求使用的是Google Cloud Storage ACL或项目级IAM,而不是Firebase身份验证和存储安全规则。

关于public:true,我认为它只会启用和创建公共链接。请参阅此处

 类似资料:
  • 我有一个亚马逊S3桶,我公开了这样的政策 我的水桶现在显示为http://bucket.s3-website-us-east-1.amazonaws.com/ 我看到其他人把他们的水桶称为http://s3-us-east-1.amazonaws.com/bucket/ 我更喜欢第二个URL,但它给出了拒绝访问。 如何更改策略以允许第二个URL?

  • Firebase存储使用490 MB,但尚未初始化存储桶。我无法跟踪这个存储com从哪里来,但是检查Firebase对一个空存储收取0.10美元的费用是很奇怪的。 我在哪里可以删除此存储?为什么firebase因没有存储桶而收费? 目前我正在使用Firebase身份验证、Firestore、实时数据库、主机和其他功能。

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

  • 更新:在联系了Firebase的支持后,他们告诉我,在修复了他们的后端之后,这个问题确实被修复了。

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