我有一个经典问题,(整整一天)我都找不到解决方案。
我希望我的用户向我发送图片(最多5 MB),我必须使用GAE的Blobstore存储它们。
因为我只能储存最多1 MB图片,我想允许用户发送更大的图片(如前所述最多5MB)并在客户端或服务器端处理图片以压缩它们并使用blobstore存储它们。我的第一次尝试是:
1)我向服务器发送了一个1,5 MB的图片,并尝试使用GAE的原生图像处理框架调整它的大小,但是我收到了以下错误消息:对API调用图像的请求.Transform()太大了。
所以,我想问你们,什么是下注方法来复合和存储上传的图片。在将它发送到服务器之前,我是否可以在客户端使用GWT进行此操作?
提前感谢您的回答。
答案 0 :(得分:1)
Blobstore最大对象大小为2GB,但您可以在一次API调用中获取/放入的最大大小为1MB。
解决方案是将文件分成一系列块。
有一个名为AppImage的应用就是这样做的。您可以在Large Image Resizing for Google App Engine
中阅读相关内容答案 1 :(得分:1)
Blobstore允许最大2GB的文件;如果您的用户正在上传图片,您可以直接将他们上传到blobstore,无论他们的大小是多少。