代码之家  ›  专栏  ›  技术社区  ›  John doe

如何将图片从外部链接上传到谷歌云存储?

  •  0
  • John doe  · 技术社区  · 6 年前

    我正在使用 google-cloud-storage 在节点.js. 试图找到一个解决方案,以编程方式从外部url下载图像,然后上传到GCS。

    我正在使用fetchapi获取图像并将其转换为blob

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

    编辑 :我也尝试过,但没有成功

    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 回复  |  直到 6 年前
        1
  •  1
  •   Maxim    6 年前

    尝试使用请求模块节点.js要从URL获取图像并通过管道将结果写入bucket,请执行以下操作:

    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());
    

    它对我有用。