为了账号安全,请及时绑定邮箱和手机立即绑定

从云函数上传的Firebase文件中获取下载URL

从云函数上传的Firebase文件中获取下载URL

蝴蝶不菲 2019-06-25 14:57:18
从云函数上传的Firebase文件中获取下载URL在Firebase存储中上传了一个具有Firebase功能的文件之后,我想获得该文件的下载网址。我有这个:...return bucket    .upload(fromFilePath, {destination: toFilePath})     .then((err, file) => {         // Get the download url of file     });对象文件有很多参数。甚至有一个叫mediaLink..但是,如果我试图访问该链接,则会得到以下错误:匿名用户没有storage.objects.get访问对象.。有人能告诉我如何获得公开下载网址吗?谢谢
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您需要使用getSienedURL通过@google-云/存储NPM模块。

例子:

const gcs = require('@google-cloud/storage')({keyFilename: 'service-account.json'});
// ...const bucket = gcs.bucket(bucket);const file = bucket.file(fileName);return file.getSignedUrl({
  action: 'read',
  expires: '03-09-2491'}).then(signedUrls => {
  // signedUrls[0] contains the file's public URL});

您需要初始化@google-cloud/storage带着您的服务帐户凭据由于应用程序默认凭据不够。

更新:CloudStorageSDK现在可以通过Firebase AdminSDK访问,后者充当包装器关于@google-云/存储。唯一的办法就是:

  1. 在SDK中有一个特殊的服务帐户,通常是通过第二个非默认实例。
  2. 或者,如果没有服务帐户,则通过授予默认AppEngine服务帐户“signBlob”权限。


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 736 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信