通过云端function检索Firebase存储图像链接
如何通过云端function检索Firebase中存储的图片的下载链接?
我已经尝试了各种各样的变化,包括下一个:
exports.getImgs = functions.https.onRequest((req, res) => { var storage = require('@google-cloud/storage')(); var storageRef = storage.ref; console.log(storageRef); storageRef.child('users/user1/avatar.jpg').getDownloadURL().then(function(url) { }); });
这让我非常恼火,所以我会直接向那些正在寻找它的人解释。
1,使用firebase命令行安装GCD Storage:
npm install --save @google-cloud/storage
云function代码:
const gcs = require('@google-cloud/storage')({keyFilename: 'service-account.json'}); const bucket = gcs.bucket('name-of-bucket.appspot.com'); const file = bucket.file('users/user1/avatar.jpg'); return file.getSignedUrl({ action: 'read', expires: '03-09-2491' }).then(signedUrls => { console.log('signed URL', signedUrls[0]); // this will contain the picture's url });
您的存储分区的名称可以在Firebase控制台中的“存储”部分下find。
'service-account.json'文件可以从这里创build和下载:
https://console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk
并且应该在本地存储在您的Firebase文件夹下的function文件夹下。 (或其他只要在上面的代码中改变path)
而已。
- 使用Firebase FCM和Google App Engine发送通知
- angular/离子处理成功200作为一个错误
- Firebase createUserWithEmailAndPassword方法在node.js中未定义
- BigQuery读取ECONNRESET
- 我可以在客户端和Firebase之间使用自己的NodeJS服务器,并仍然使用“on()”方法吗?
- 将具有服务帐户的Firebase应用程序部署到Heroku(带有dotenv的环境variables)
- 如何从节点服务器发送Firebase云消息传递?
- 无法获取节点JS应用程序中的Firebase运行
- 从TypeScript Firebase Admin SDK初始化失败