My upload.js file contains the following code:
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);
        });
    },
}
It works through the terminal but how do I call it on form submission button click or just from different file ?
When I try it gives me:
Cannot read property 'prototype' of undefined
I'm quite new to NodeJs and I don't really know what to do.
Google documentation doesn't help me at all unfortunately :/
I would recommend moving your requires to the first line.
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);
        });
    },
}
I would also console.log(storage) and confirm it is defined.
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);
    });
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With