使用Nodejs调整Google云端存储中的图像大小并提供服务?

时间:2018-02-07 02:18:07

标签: node.js google-app-engine google-cloud-storage

我找到了此链接upload and resize the image with google storage。我看看谷歌文件,但似乎是谷歌不支持nodejs。

  

如何在nodejs上实现API?或者只是输入谷歌存储链接并获得输出serve_url的方式?

1 个答案:

答案 0 :(得分:0)

Google确实支持NodeJS,but on App Engine Flexible Enviroment, not in Standard environment,并且您共享的article正在使用标准环境。该文章还使用了特定的get_serving_url() method in Python which is not implemented in NodeJS

但是我认为你可以使用Signed URLs来实现一些类似的功能。您有一个关于如何在NodeJS中获取签名URL的示例here。如您所见,您可以获得在您使用SignedURL时覆盖文件的写入权限:

  

// - //生成一个URL以允许写入权限。这意味着任何人   使用此URL //可以发送带有新数据的POST请求   覆盖文件。 // -

您可以使用示例中的代码:

file.getSignedUrl({
  action: 'write',
  expires: '03-17-2025'
}, function(err, url) {
  if (err) {
    console.error(err);
    return;
  }

  // The file is now available to be written to.
  var writeStream = request.put(url);
  writeStream.end('New data');

  writeStream.on('complete', function(resp) {
    // Confirm the new content was saved.
    file.download(function(err, fileContents) {
      console.log('Contents:', fileContents.toString());
      // Contents: New data
    });
  });
}); 

获取图像的签名URL后,每次要上传调整大小的相同图像时,都可以使用相同的URL。只有你必须找到自己调整图像大小的方法。

还有this nodejs package用于管理已签名的网址。