英文:
Resize image in Google Cloud Storage
问题
appengine/image包在处理存储在Blobstore中的图像时效果很好。然而,对于存储在Google Cloud Storage中的图像,有什么好的方法可以调整大小呢?
英文:
The appengine/image package works fine with images stored in Blobstore. However, what would be a good approach to resize images stored in Google Cloud Storage?
答案1
得分: 1
您可以使用相同的图像服务与Google Cloud Storage一起使用,特别是如果您使用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函数:
BlobKeyForFile函数返回Google Storage文件的BlobKey。文件名应该是形如"/gs/bucket_name/object_name"的格式。
英文:
You can use the same Image Service with the Google Cloud Storage, especially if you use Blobstore API for uploading images.
A sample code in Java:
String fullName = "/gs/" + bucketName + "/" + objectName;
Image picture = ImagesServiceFactory.makeImageFromFilename(fullName);
Transform resize = ImagesServiceFactory.makeResize(maxWidth, maxHeight);
picture = imagesService.applyTransform(resize, picture);
In Go, you can use BlobKeyForFile function:
> BlobKeyForFile returns a BlobKey for a Google Storage file. The
> filename should be of the form "/gs/bucket_name/object_name".
答案2
得分: 0
图像裁剪功能在现在实现起来相当容易。然后,您可以对图像进行任何操作 - 将其存储回Google Storage
或立即返回给客户端。更重要的是,您可以轻松将该功能部署到任何基于云的无服务器解决方案中。我使用Cloud Run
,因为它是基于Docker的,因此可以在任何地方进行移植。
我有一个服务,我们使用nodejs/sharp
进行基于图像的裁剪,并部署到Google Cloud Run中。您可以直接使用它。其中没有任何特定于项目的硬编码内容。
英文:
Image cropping functionality is fairly easy to implement these days. You can then do whatever you want with the image - store it back to Google Storage
or return it immediately to the client.
What's more, you can easily deploy that functionality to any cloud-based serverless solution.I was using Cloud Run
because it's Docker-based and hence can be ported anywhere potentially.
I have a service that we use for image cropping based on nodejs/sharp
and deployed into Google Cloud Run. You can use it as-is. There's nothing project-specific hardcoded in it.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论