Google app engine 在谷歌云存储中调整图像大小

Google app engine 在谷歌云存储中调整图像大小,google-app-engine,go,Google App Engine,Go,appengine/image包可以很好地处理Blobstore中存储的图像。但是,什么是调整存储在Google云存储中的图像大小的好方法?您可以使用与Google云存储相同的图像服务,特别是如果您使用Blobstore API上载图像 Java中的示例代码: String fullName = "/gs/" + bucketName + "/" + objectName; Image picture = ImagesServiceFactory.makeImageFromFilename(fu

appengine/image包可以很好地处理Blobstore中存储的图像。但是,什么是调整存储在Google云存储中的图像大小的好方法?

您可以使用与Google云存储相同的图像服务,特别是如果您使用Blobstore API上载图像

Java中的示例代码:

String fullName = "/gs/" + bucketName + "/" + objectName;
Image picture = ImagesServiceFactory.makeImageFromFilename(fullName);
Transform resize = ImagesServiceFactory.makeResize(maxWidth, maxHeight);
picture = imagesService.applyTransform(resize, picture);
在Go中,您可以使用以下功能:

BlobKeyForFile返回Google存储文件的BlobKey。这个 文件名的格式应为“/gs/bucket\u name/object\u name”


如今,图像裁剪功能相当容易实现。然后,您可以对图像执行任何操作—将其存储回
谷歌存储
,或立即将其返回到客户端。 此外,您可以轻松地将该功能部署到任何基于云的无服务器解决方案中。我使用的是
cloud Run
,因为它基于Docker,因此可以移植到任何可能的地方


我有一个基于
nodejs/sharp
并部署到googlecloudrun的图像裁剪工具。你可以按原样使用它。它没有特定于项目的硬编码。

我没有使用Blobstore API。该服务需要一个Blogstore密钥作为参数。如何从云存储中获取此信息?任何具体的代码片段都非常棒。有一些方法可以从云存储文件名创建blob密钥,这样您就可以将其提供给BlobstoreAPI,就像魔术一样。e、 g.在java中,它被称为BlobstoreService.createGsBlobKey()或类似的东西。然后如何将
picture
保存回App Engine内部的google云存储?您可以从
图像中获取字节[],并将其保存到云存储。请记住设置正确的内容类型(例如“image/jpeg”)和文件扩展名,否则它将无法在浏览器中打开。