我正在尝试在我的 firebase 云函数中上传文件(图像)
。阅读许多帖子后,我发现实现此目的的唯一方法是使用 Google Cloud Platform (GCP) API
,这是我的代码:
const storage = require('@google-cloud/storage')();
var bucket = storage.bucket('myBucketName');
var buffer = bufferRepresentMyImage;
// what next?
我从 GCP 的 API
中找到了以下代码:
bucket.upload(filename, (err, file) => {
// code goes here
});
但是,它似乎不起作用,因为它从不请求文件的数据,相反,回调函数
返回一个文件
。谁能告诉我如何使用bucket
上传image
?
最佳答案
远程目标文件名包含在选项参数中。您的示例(以及此答案)中的 filename
是本地文件名路径。
let options = {
destination: fileNameOnDestinationBucket,
metadata: { // (optional)
metadata: yourCustomMetadata,
contentType: 'image/jpeg' // (example)
}
};
// with Promise:
bucket.upload(filename, options).then((response)=>{
...
});
// with callback:
bucket.upload(filename, options, (err, metadata, response)=>{
....
});
关于Node.js 将图像上传到 firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48033628/