Skip to content

Instantly share code, notes, and snippets.

@betiol
Created October 4, 2023 13:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save betiol/2c58932f71ad0bffe1c8b7e5782710ef to your computer and use it in GitHub Desktop.
Save betiol/2c58932f71ad0bffe1c8b7e5782710ef to your computer and use it in GitHub Desktop.
Image Downloader
const { Storage } = require('@google-cloud/storage');
const request = require('request');
const { v4: uuidv4 } = require('uuid');
const bucket = '';
const storage = new Storage();
const imageDownloader = (url) => {
const filename = uuidv4();
var file = storage.bucket(bucket).file(filename);
request({ url, encoding: null }, (err, response, buffer) => {
if (err) {
console.log('Error on download image', err)
return
};
const stream = file.createWriteStream({
metadata: {
contentType: response.headers['content-type'],
},
});
stream.end(buffer);
});
return Promise.resolve(storage.bucket(bucket).file(filename).publicUrl());
};
module.exports = imageDownloader;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment