Hi, I'm trying to include some additional data in a blobstore upload which I can then process with the BlobInfo. According to https://developers.google.com/appengine/docs/java/blobstore/ :
*When the Blobstore rewrites the user's request, the MIME parts of the uploaded files have their bodies emptied, and the blob key is added as a MIME part header. All other form fields and parts are preserved and passed to the upload handler. * This seems to be working fine on the Dev Server but *not* on the live AppEngine. Having got the upload URL from the blobstore service, on the client-side I'm then doing: var formData = new FormData(); formData.append("upload-request", JSON.stringify({ myExtraData: "something" })); for (var idx = 0; idx < files.length; idx++) { formData.append(files[idx].name, files[idx]); } xhr.open("POST", uploadUrl); xhr.send(formData); And then trying to process it on the server side with: log.warning("isMultipartContent: " + ServletFileUpload.isMultipartContent(req)); ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iterator = upload.getItemIterator(req); int count = 0; while (iterator.hasNext()) { ++count; FileItemStream item = iterator.next(); if (item.isFormField()) { log.warning("Got a form field: " + item.getFieldName()); } else { log.warning("Got an uploaded file: " + item.getFieldName() + ", name = " + item.getName()); } } log.warning("FileItem count = %s", count); When I run this on the local Dev server, everything works perfectly and it happily logs both the form field part and the re-written (content-stripped) file part and a count of 2. When I run it on the live App Engine, it logs: isMultipart: true FileItem count = 0 It seems that the live server, contrary to the documentation, is stripping all the mime parts from the request. Note, that the blobs are still retrievable with blobstore.get{File,Blob}Infos(req), but I cannot access the additional data that was sent with the request. Has anyone seen this before? Is this is a known bug or have I misinterpreted the docs? Does anyone know if the same is true in the Python runtime? Can anyone suggest a workaround? Thanks, Rich -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.