When App Engine raised its request size limit from 1MB to 10MB, it seemed like we would finally be able to use it for an image sharing website as while reasonably sized digital camera images over 1MB are very likely, it'd take an extremely professional camera image to break the 10MB limit, which seemed like an acceptable limit to place on a user's file uploads since those users are probably knowledgeable enough to resize the images themselves anyways. API calls were still limited to 1MB, and as the examples listed on the blog post were memcache and datastore, it seemed to make sense since App Engine is probably still designed to place a 1MB limit on its datastore entries. This seemed like it'd be ok since it should be possible to use the images API to resize any input images to less than 1MB before storing them in the datastore, completely acceptable for our task. However, after trying this and looking into some server errors, it seems the images API is also limited to 1MB input files (which fits with the 1MB limit on API calls, the fact just didn't register at first). At least, that's how I'm interpreting the RequestTooLargeError (The request to API call images.Transform() was too large) I get when submitting a 1.5MB file.
Is the limit on the images API by design/constraint? I imagine image API calls aren't split across computers in a cluster or anything and are run in place, with possibly some temp memory that's cleared immediately, which makes having a limit smaller than the request size seem a little strange to me. A 1MB limit on image files makes it hard to support user submitted image uploads in a practical setting. I know it's possible to split the image over datastore entries just to store them, but we also need to be able to resize them to generate thumbnails, etc. And if anyone's come up with a workaround splitting the input file into parts to resize in parts, it'd be nice to hear. While PNG uses DEFLATE and might not work, JPEG as far as I know cosine transforms blocks independently so it seems like it could be possible. Though it'd probably increase the load on the servers more than just having a >1MB API call limit. Thanks. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
