我必须将图像上传到firebase存储 . 我没有使用网络版的存储空间(我不应该使用它) . 我正在使用firebase管理员 . 没问题,我上传文件没有困难,我得到变量“文件”中的结果 .
如果我访问firebase存储控制台,图像就在那里 . 行 .
return admin.storage().bucket().upload(filePath, {destination: 'demo/images/restaurantCover.jpg',
metadata:{contentType: 'image/jpeg'}
public: true
}).then(file =>{
console.log(`file --> ${JSON.stringify(file, null, 2)}`);
let url = file["0"].metadata.mediaLink; // image url
return resolve(res.status(200).send({data:file})); // huge data
}) ;
现在,我有一些问题 .
-
为什么这么多的信息和如此多的对象作为对
upload ()
方法的响应?回顾这个巨大的对象,我在元数据中找到了一个名为mediaLink
的属性,它是图像的下载URL . 但... -
为什么网址与firebase显示的网址不同?为什么我找不到
downloadURL
属性? -
如何获得firebase的网址?
- 如果我使用mediaLink网址是不是有任何问题与不同的网址? (阅读,从ios和Web客户端更新)
1 回答
查看Google Cloud Storage: Node.js Client文档,它们有一个指向sample code的链接,该链接显示了如何执行此操作 . 另外,请参阅File class documentation示例(如下)