我在Google App Engine上有一款可以接受用户上传图片的应用。我设想的问题是用户将直接从他们的相机上传这些图像,文件大小通常大于1MB,这是图像API的限制(用于调整图像大小)。
接受上传1.5MB图像文件并将其调整为1MB以下的最佳方法是什么?
答案 0 :(得分:7)
虽然App Engine文档中并不清楚,但可以通过结合使用Blobstore和Image Manipulation Service来实现这一点。
你必须:
我写了一篇关于此的帖子 - > http://socialappdev.com/uploading-and-re-sizing-large-images-on-app-engine-11-2010
答案 1 :(得分:3)
以下是解决此问题的两种(类似)方法:
POST
将其重新发送到您的应用程序。所有这些互动当然都需要某种授权,因此不能被滥用。或者,POST
将图像直接发送到外部服务器,但是您必须将其他表单数据发送回应用程序,或使用单独的表单进行图像上传。POST
数据。我建议使用第2点,因为它不需要您绕过Google App Engine限制,并且由于您的用户直接从相机上传图像,因此他们可能希望无论如何都要对它们执行某些操作(例如裁剪)。
答案 2 :(得分:1)
这是一个难题。使用google.appengine.api.images.resize的“明显”答案将无效,因为它太大了。 :)所以你必须在服务器上使用第三方软件(由于App Engine的限制,这将是棘手的)或cilent(例如Java上传器)。