Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google App Engine Large File Upload

I am trying to upload data to Google App Engine (using GWT). I am using the FileUploader widget and the servlet uses an InputStream to read the data and insert directly to the datastore. Running it locally, I can upload large files successfully, but when I deploy it to GAE, I am limited by the 30 second request time. Is there any way around this? Or is there any way that I can split the file into smaller chunks and send the smaller chunks?

like image 289
user103920 Avatar asked May 09 '09 00:05

user103920


2 Answers

By using the BlobStore you have a 1 GB size limit and a special handler, called unsurprisingly BlobstoreUpload Handler that shouldn't give you timeout problems on upload.

Also check out http://demofileuploadgae.appspot.com/ (sourcecode, source answer) which does exactly what you are asking.

Also, check out the rest of GWT-Examples.

like image 124
Esteban Küber Avatar answered Sep 26 '22 14:09

Esteban Küber


Currently, GAE imposes a limit of 10 MB on file upload (and response size) as well as 1 MB limits on many other things; so even if you had a network connection fast enough to pump up more than 10 MB within a 30 secs window, that would be to no avail. Google has said (I heard Guido van Rossum mention that yesterday here at Pycon Italia Tre) that it has plans to overcome these limitations in the future (at least for users of GAE which pay per-use to exceed quotas -- not sure whether the plans extend to users of GAE who are not paying, and generally need to accept smaller quotas to get their free use of GAE).

like image 44
Alex Martelli Avatar answered Sep 22 '22 14:09

Alex Martelli