For more information, I am using the Upload.java servlet from http://code.google.com/appengine/docs/java/blobstore/overview.html
The server gives my the stacktrace on the URL _ah/upload/blobId (The form POST URL). It looks like it is failing to extract the filename. However, the file saves fine in the datastore. Is there any other way to know the key? For example reading headers or request parameters? I could bypass getUploadedBlobs if I can access the key somehow since I only need it to forward to another servlet (which renders the blob just fine). Thanks, Viðar On May 14, 8:08 pm, pjesi <[email protected]> wrote: > I can upload just fine into the blobstore. However, the callback > handler can never access the uploaded file using getUploadedBlobs. > > The exception is: > > Uncaught exception from servlet > java.lang.IllegalStateException: Must be called from a blob upload > callback request. > at > com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs(Bl > obstoreServiceImpl.java: > 128) > > This seems to be the result of an parse exception: > > com.google.apphosting.utils.servlet.ParseBlobUploadFilter doFilter: > Could not parse multipart message: > javax.mail.internet.ParseException: Missing ';' > at javax.mail.internet.ParameterList.<init>(ParameterList.java:135) > at > javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java: > 51) > at javax.mail.internet.MimeBodyPart.getFileName(MimeBodyPart.java: > 303) > at > com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlo > bUploadFilter.java: > 74) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionF > ilter.java: > 35) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans > actionCleanupFilter.java: > 43) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: > 388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: > 216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: > 182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: > 765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 418) > > Note that this works fine on the development server. I am using 1.3.2. > Any ideas? > > Thansk, > Viðar > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" 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 > athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" 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-java?hl=en.
