Как загрузить изображение из внешней ссылки в облачное хранилище Google? - PullRequest
0 голосов
/ 05 ноября 2018

Я использую google-cloud-storage на Node.js. Попытка найти решение для программной загрузки изображения с внешнего URL-адреса и последующей загрузки в GCS.

Я использую API выборки, чтобы получить изображение и превратить его в блоб

fetch('image.jpg').then( res => {
    var blob = res.blob()
}) 

Все учебники, которые я нашел в Интернете, посвящены загрузке форм с использованием multer. Но ничего о моем случае.

Теперь, каково правильное решение для загрузки этого блоба в мое ведро GCS?

РЕДАКТИРОВАТЬ : я тоже пытался, но безуспешно

bucket.upload(urlImage, function(err, file){
            const blobStream = file.createWriteStream();
            blobStream.on('error', (err) => {
              console.log('error',err)
            });

            blobStream.on('finish', () => {
              console.log('finished with success')

              });

              blobStream.end(file);
          })

1 Ответ

0 голосов
/ 06 ноября 2018

Попробуйте использовать модуль запроса для Node.js, чтобы получить изображение из URL-адреса и передать результат для записи в корзину:

var request = require('request');

const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const bucket = storage.bucket('your-bucket-name');
const file = bucket.file('image-name.jpg'); 

request(‘image-URL’).pipe(file.createWriteStream());

Это сработало для меня.

...