如何将图像从外部链接上传到Google云存储?

时间:2018-11-05 09:58:33

标签: node.js google-cloud-storage image-uploading

我在Node.js上使用google-cloud-storage。试图找到一种解决方案,以编程方式从外部网址下载图片,然后将其上传到GCS。

我正在使用提取API获取图像并将其转换为斑点

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

我在网络上找到的所有教程都涉及使用multer上传表单。但是我的情况一无所获。

现在将这个Blob上传到我的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 :(得分:0)

尝试使用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());

对我有用。