Hi Everyone,

I was wondering if anything had changed recently in relation to uploading 
blobs to appengine from external applications? What used to work perfectly 
only 3 months ago is now hanging when doing a http post to upload the blob.

The code (see below) which was working fine previously consists in fetching 
a pull queue from AppEngine (using the REST API), doing some stuff with 
this task received and then uploading back the result as a Blob on 
AppEngine. The url to upload the blob to is created by appengine using  
blobstoreService.createUploadUrl("/upload"); 

and is of the form: 
http://myapp.appspot.com/_ah/upload/AMmfu6aAHnkuS4ngyRJDn7urFFZeBxb_-3P-r7RY9udMvRjLWkEZNJMgUX1DFczNVi-NhIxcFat2AEPXs2IRJ0AOmznSMgcrCKmL7mGAmS7nqtr-UyYFkglD88BwCfzIui9M2yez7DSQ/ALBNUaYAAAAAUGRlEwpeGEc5ozp8Z8sDO33qgCi2AiIE/<http://7.linguabox0412.appspot.com/_ah/upload/AMmfu6aAHnkuS4ngyRJDn7urFFZeBxb_-3P-r7RY9udMvRjLWkEZNJMgUX1DFczNVi-NhIxcFat2AEPXs2IRJ0AOmznSMgcrCKmL7mGAmS7nqtr-UyYFkglD88BwCfzIui9M2yez7DSQ/ALBNUaYAAAAAUGRlEwpeGEc5ozp8Z8sDO33qgCi2AiIE/>

 I had a look at the logs on AppEngine and it seems like the servlet in 
charge of /upload isn't being triggered. 

I'm honestly out of ideas at this stage, any help would be greatly 
appreciated ! :-)

Cheers,

Killian

//Code

public boolean uploadAsBlob(String dataToWrite, String uploadURL) {

     try {

          BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(
tempFileLocation));

          bufferedWriter.write(dataToWrite);

          bufferedWriter.newLine();

          bufferedWriter.close();

          MultipartEntity entity = new MultipartEntity();

          entity.addPart(blobFileName, new FileBody(new File(
tempFileLocation)));

          HttpPost method = new HttpPost(uploadURL);

          method.setEntity(entity);

          final HttpParams httpParams = new BasicHttpParams();

          HttpConnectionParams.setConnectionTimeout(httpParams, 10000);

          DefaultHttpClient httpclient = new DefaultHttpClient(httpParams);

  //It hangs at the following line!

          HttpResponse response = httpclient.execute(method);

          if (response.getStatusLine().getStatusCode() == 200) {

               logger.info("Uploaded blob to url: " + uploadURL);

               return true;

          } else {

               logger.warning("Couldn't upload blob to url: " + uploadURL);

          }


 } catch (Exception e) {

 logger.warning("Exception " + e.getMessage() + " occured while uploading 
blob to url:" + uploadURL);

 logger.warning("Couldn't upload blob to url: " + uploadURL);

 }

 return false;

}

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/t0eQL6uo368J.
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.

Reply via email to