mik*_*mik 5 node.js firebase google-cloud-functions firebase-storage
如何通过云功能检索 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) {
});
});
Run Code Online (Sandbox Code Playgroud)
这让我很恼火,所以我将向那些正在寻找它的人提供解决方案并提供直接的解释。
1、使用 firebase 命令行安装 GCD Storage:
npm install --save @google-cloud/storage
Run Code Online (Sandbox Code Playgroud)
云函数代码:
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
});
Run Code Online (Sandbox Code Playgroud)
您可以在 Firebase 控制台的“存储”部分下找到存储桶的名称。
可以从此处创建并下载“service-account.json”文件:
https://console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk
并且应该本地存储在您的 Firebase 文件夹中的functions文件夹下。(或者其他只要更改上面代码中的路径即可)
就是这样。
| 归档时间: |
|
| 查看次数: |
2425 次 |
| 最近记录: |