Node.js无法将图像文件从服务器上传到Firebase

时间:2020-08-29 13:24:36

标签: node.js firebase google-cloud-storage

我正在使用firebase-admin软件包在节点js中的服务器端上载图像:

const upload = await bucket.upload('myimage.png', {
    destination: "myimage.png",
    metadata: {
        contentType: 'image/png'
    }
});

它不起作用,文件成功上传,但是即使内容类型与我在matadata中设置的内容相同,firebase存储也无法将其读取为图像。

当我手动上传同一张图片时,它确实将其读取为png图片。

请帮助:)谢谢

1 个答案:

答案 0 :(得分:2)

Firebase控制台使用图像的下载URL来显示它们。当您通过Admin SDK上传图像时,它使用的是下方的Cloud Storage Node.js SDK,并且该SDK不会生成下载URL,因此Firebase控制台无法显示以此方式上传的图像。

有关更多信息,请参见此issues in the Github repo of the Admin SDK。它还包含一个workaround/solution。我还没有尝试过,但是看起来很有希望。

此答案似乎是另一种解决方法:Cloud Functions: Resized images not loading