使用GAE(和GWT)压缩上传的图像

时间:2011-01-02 17:26:13

标签: google-app-engine gwt image-processing google-cloud-datastore blob

我有一个经典问题,(整整一天)我都找不到解决方案。

我希望我的用户向我发送图片(最多5 MB),我必须使用GAE的Blobstore存储它们。

因为我只能储存最多1 MB图片,我想允许用户发送更大的图片(如前所述最多5MB)并在客户端或服务器端处理图片以压缩它们并使用blobstore存储它们。我的第一次尝试是:

1)我向服务器发送了一个1,5 MB的图片,并尝试使用GAE的原生图像处理框架调整它的大小,但是我收到了以下错误消息:对API调用图像的请求.Transform()太大了。

所以,我想问你们,什么是下注方法来复合和存储上传的图片。在将它发送到服务器之前,我是否可以在客户端使用GWT进行此操作?

提前感谢您的回答。

2 个答案:

答案 0 :(得分:1)

Blobstore最大对象大小为2GB,但您可以在一次API调用中获取/放入的最大大小为1MB。

解决方案是将文件分成一系列块。

有一个名为AppImage的应用就是这样做的。您可以在Large Image Resizing for Google App Engine

中阅读相关内容

答案 1 :(得分:1)

Blobstore允许最大2GB的文件;如果您的用户正在上传图片,您可以直接将他们上传到blobstore,无论他们的大小是多少。