Node.js将图像上传到firebase存储

时间:2017-12-30 11:46:12

标签: node.js firebase google-cloud-platform google-cloud-functions

我正在尝试在我的firebase云功能中上传files(images)。在阅读了很多帖子之后,我发现我能做到这一点的唯一方法是使用Google Cloud Platform (GCP) API,这是我的代码:

const storage = require('@google-cloud/storage')();
var bucket = storage.bucket('myBucketName');
var buffer = bufferRepresentMyImage;
// what next?

我从GCP's API找到了以下代码:

bucket.upload(filename, (err, file) => {
    // code goes here
});

但是,它似乎不会起作用,因为它从不要求文件的数据,相反,callback function会返回file。有人可以告诉我如何使用image上传bucket吗?

1 个答案:

答案 0 :(得分:2)

远程目标文件名包含在选项参数中。您的示例中的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)=>{
....
});