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

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

我正在尝试在我的 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/

相关文章:

node.js - Node js 和 Sequelize 插入到数据库

node.js - 如何在 NodeJs 中使用 Canvas 加载 GIF 图像?

javascript - AngularFirebase2 : Query list with equalTo

python - 如何在 Jupyter Notebook 上导入 google-cloud-language?

google-cloud-platform - 在 Cloud Build 步骤中执行 BigQuery 查询

google-app-engine - 如何将 Cloud Armor 与 GAE Flex 结合使用?

CSS 样式表无法连接到 C9 平台上的 node.js 页面

javascript - 如何检查是否存在 javascript bool 元素

ios - 删除节点 Firebase 下的所有项目

swift - 仅从 Firebase 检索新值