【发布时间】:2017-10-31 19:39:51
【问题描述】:
代码:
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 存储,但是:
- 现在可以通过以下网址公开访问该文件: https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg。我可以在我的应用程序中使用这个固定的 URL,还是它可能会更改或过期?
-
public: true似乎破坏了 Firebase 存储 UI:
右侧图像的预览未显示,我无法通过下载按钮下载图像。此外,没有下载网址(我不介意,因为我可以通过上面的链接访问它),当点击“创建新的下载网址”时,Firebase 会产生
生成下载 URL 时出错
删除public: true 时,预览会正确显示,我还可以生成下载 URL。但是公共 url https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg 将不再起作用,这对我来说是必要的。
所以我的计划是坚持使用public: true,但它仍然困扰着我,预览/下载按钮不起作用,对我来说它看起来像是 Firebase 中的一个错误。谁能确认一下?
【问题讨论】:
-
嗨,我也面临同样的问题。我正在尝试将图像缓冲区上传到 firebase 存储。我看不到图像预览,即使有和没有 public:true 我也看不到公共网址,我也无法从存储桶下载图像/文件。你解决问题了吗?
标签: firebase google-cloud-storage firebase-storage