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);
}
});
我的文件被成功上传到我的火力存储,但:
- 现在,该文件通过URL公开访问: https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg。我可以在我的应用程序中使用这个固定的URL吗?它可能会改变或过期吗?
public: true
似乎打破了火力地堡存储UI:
右侧图像的预览没有显示,我无法通过下载按钮下载图像。另外,有没有下载链接(这我不介意,因为我可以通过上面的链接访问),然后单击“创建新的下载URL”火力地堡时产生
错误生成下载网址
删除public: true
时,预览显示正确,我也可以生成一个下载URL。但公众网址https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg将不再适用,这对我来说是必要的。
所以我的计划是坚持到public: true
,但它仍然让我感到困惑,预览/下载按钮不起作用,它看起来像Firebase中的一个bug。任何人都可以证实吗?
我已经与Firebase技术团队联系。 – Chris