我找到了此链接upload and resize the image with google storage。我看看谷歌文件,但似乎是谷歌不支持nodejs。
如何在nodejs上实现API?或者只是输入谷歌存储链接并获得输出serve_url的方式?
答案 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用于管理已签名的网址。