11

画像の URL を指定して、Node.js を使用した画像処理のためにその画像を Google Cloud Storage にアップロードするにはどうすればよいですか?

4

6 に答える 6

2

リモート URL からの画像のアップロードを処理する場合。Google docs が提供する最新のライブラリを参照してください。画像のバッファを保存する代わりに。倉庫に直接送ることができます。

function sendUploadUrlToGCS(req, res, next) {
  if (!req.body.url) {
    return next();
  }

  var gcsname = Date.now() + '_name.jpg';
  var file = bucket.file(gcsname);

  return request({url: <remote-image-url>, encoding: null}, function(err, response, buffer) {
    req.file = {};
    var stream = file.createWriteStream({
      metadata: {
        contentType: response.headers['content-type']
      }
    });

    stream.on('error', function(err) {
       req.file.cloudStorageError = err;
       console.log(err);
       next(err);
    });

    stream.on('finish', function() {
      req.file.cloudStorageObject = gcsname;
      req.file.cloudStoragePublicUrl = getPublicUrl(gcsname);
      next();
    });

    stream.end(buffer);
  });
}
于 2016-11-30T20:57:15.790 に答える