Is that the actual code?

You need to call createUploadURL for each blob you want to upload.

On Friday, 9 March 2012 00:03:43 UTC+11, Killian wrote:
>
> Hi Lads,
>
> This issue has been bugging me for a while now and just wasted the last 2 
> days with no solution found. I'm getting desperate at this stage ! 
>
> My aim was to use the Task Queue Pull service to run some NLP processing 
> outside of app engine on an external VM. That's working fine however all 
> the trouble started when I discovered that the output produced by the 
> external VM could be fed back into the Task Queue. Following the example in 
> the Google I/O video http://youtu.be/AM0ZPO7-lcE , I then decided to 
> provide the response of the task queue as a Blob upload to the app engine.
> So I have the working example 
> http://code.google.com/appengine/docs/java/blobstore/overview.htmlimplement 
> and working perfectly. (ie: I can manually upload a file using 
> the jsp form and store it).
>
> The problem is that for obvious reasons I need to send this post request 
> from the VM programmatically. And that's were things start getting messy. 
> Since the video only provides an example in Python and not in java I've 
> been struggling find a solution to this.
>
> Looking around it seems like I need the httpcomponents-client-4.1.3 apache 
> library to create post requests. 
> So this is the workflow I have: 
> I generate the upload url from the app engine side and place it in the 
> task queue payload which is then retrieved by the VM correctly.
>
> on the VM side this is what I do:
>
> String uploadURL = 
> "http://<host>/_ah/upload/agtsaW5ndWFib3gxMHIbCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGAEM"
> ;
>
>  DefaultHttpClient httpclient = new DefaultHttpClient();
>
>  HttpPost method = new HttpPost(uploadURL);
>
>  MultipartEntity entity = new MultipartEntity();
>
>  File f = new File("dummyFileToUpload.txt");
>
>  FileBody fileBody = new FileBody(f);
>
>  entity.addPart("myFile", fileBody);
>
>  method.setEntity(entity);
>
> HttpResponse response = httpclient.execute(method);
>
>  System.out.println(response.getStatusLine());
>
> PROBLEM: 
>
> When I do this both in development mode or production mode, I receive a 
> "http 404 not found" response. and it seems like the upload servlet isn't 
> run at all (if I'm in deug mode for instance). However when I look in the 
> blob store, the blob was indeed uploaded correctly which is good news of 
> course however it means I can't get a proper response from the app engine 
> side and more importantly can't run anything in the upload servlet.
>
> I'm guessing my post request mustn't be created properly which would 
> explain why the app engine side is reacting weird? Is there anything 
> obviously wrong in my approach?
>
> Would really appreciate any advice on this. 
>
> Thanks in advance :-)
>
>
>
>
>
>  
>

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

Reply via email to