使用 Firebase 功能在 Firebase 存储中上传文件后,我想获取文件的下载 url。
我有这个 :
... return bucket .upload(fromFilePath, {destination: toFilePath}) .then((err, file) => { // Get the download url of file });
目标文件有很多参数。甚至一个名为mediaLink. 但是,如果我尝试访问此链接,则会收到此错误:
mediaLink
匿名用户没有 storage.objects.get 访问对象…
有人可以告诉我如何获取公共下载网址吗?
谢谢
您需要通过@google-cloud/storage NPM 模块使用getSignedURL生成签名 URL。
例子:
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使用您的服务帐户凭据进行初始化,因为应用程序默认凭据是不够的。
@google- cloud/storage
更新 :现在可以通过 Firebase Admin SDK 访问 Cloud Storage SDK,它充当@google- cloud/storage 的包装器。唯一的方法是,如果您: