使用NodeJS将文件上传到Google云端存储

时间:2018-02-22 03:25:45

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

我的 upload.js 文件包含以下代码:

module.exports = {

    up: function () {
        const storage = require('@google-cloud/storage');
        const fs = require('fs');
        const gcs = storage({
            projectId: 'MY_PROJECT_ID',
            keyFilename: './service-account.json'
        });
        var bucket = gcs.bucket('MY_BUCKET');

        bucket.upload('picture.jpg', function(err, file) {
            if (err) throw new Error(err);
        });
    },
}

它通过终端工作,但如何在表单提交按钮单击或仅从不同的文件中调用它?

当我尝试时,它给了我:

  

无法读取未定义的属性'prototype'

我是 NodeJs 的新手,我真的不知道该怎么办。
不幸的是,谷歌文档对我没有帮助:/

2 个答案:

答案 0 :(得分:3)

我建议您将 onclickeventpage(){ this.authService.displayEvent$('5ae0c8e96b40a71cd3b772cc').subscribe(event => { console.log(event); console.log(event.eventname)}); } 移到第一行。

requires

我也会const storage = require('@google-cloud/storage'); const fs = require('fs'); module.exports = { up: function () { const gcs = storage({ projectId: 'MY_PROJECT_ID', keyFilename: './service-account.json' }); const bucket = gcs.bucket('MY_BUCKET'); bucket.upload('picture.jpg', function(err, file) { if (err) throw new Error(err); }); }, } 并确认它已定义。

答案 1 :(得分:0)

`const {
    Storage
} = require('@google-cloud/storage');

const up = () => {
    const gcs = new Storage({
        projectId: 'xxxxxxxxx',
        keyFilename: './service-account.json'
    });
    const bucket = gcs.bucket('xxxxxxxxxx');
    bucket.upload('./test-rev.mkv', function (err, file) {
        if (err) throw new Error(err);
    });
}
`
相关问题