I was able to solve this. The parser in production GAE is more
sensitive than the one in the development environment, and the one in
production provides no useful information to the user about why it
fails. This is a known issue: 
http://code.google.com/p/googleappengine/issues/detail?id=3273
for the bug report.

The reason the upload was failing on the server was because one of the
form fields was missing a \r\n:

--jtmyobpmsbvkwefmrarmjuescosjfuxm
Content-Disposition: form-data; name="recording_time"

3

is correct, whereas

--jtmyobpmsbvkwefmrarmjuescosjfuxm
Content-Disposition: form-data; name="recording_time"
3

is not. The latter succeeds in the development environment, whereas it
fails in production GAE. It took a couple hours of debugging to get to
this conclusion -- it would be nice if GAE blobstore reported POST
parsing errors in some way.

Adam



On Jul 14, 12:54 pm, adam <adus...@gmail.com> wrote:
> Just a bit more data: it's clear to me that the upload URL isn't being
> caught by the WSGIApplication on the server. I know this because when
> I insert a catch-all url path pattern, the upload POST request hits
> that handler instead of the BlobstoreUploadHandler. My WSGIApplication
> is instantiated like this:
>
> application = webapp.WSGIApplication(
>     [
>         ('/', MainPage),
>         ('/upload', UploadHandler),
>         ('/upload_key/([^/]+)', UploadKeyHandler)],
>     debug=True)
>
> Again, POST requests to URLs generated by
> blobstore.create_upload_url('/upload') are not hitting UploadHandler.
>
> Thanks again,
> Adam
>
> On Jul 14, 12:50 pm, adam <adus...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Hi, I have an app that allows me upload to the blobstore locally but
> > fails on the server. I get an upload url using
> > blobstore.create_upload_url('/upload'), just like the example provided
> > by google.
>
> > When running the app locally, this works. However, when I run it on
> > GAE, I get a 503; seehttp://grab.by/axFo.
>
> > In case it helps the engineers to debug, here's the URL:
>
> >http://www.recordmp3.org/_ah/upload/AMmfu6bsVT68mSvZqDM85D324uLxM39c-...
>
> > Thank you,
> > Adam

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to