android/rails multipart upload problem

Posted by trioglobal on Stack Overflow See other posts from Stack Overflow or by trioglobal
Published on 2010-04-03T23:21:23Z Indexed on 2010/04/03 23:23 UTC
Read the original article Hit count: 344

Filed under:
|
|
|
|

My problem is that I try to upload an image and some text values to an rails server, and the text values end up as files, insted of just param values.

How the post looks on the server Parameters: {"action"=>"create", "controller"=>"problems", "problem"=>{"lon"=>#File:/tmp/RackMultipart20100404-598-8pi1vj-0>, "photos_attributes"=>{"0"=>{"image"=>#File:/tmp/RackMultipart20100404-598-pak6jk-0>}}, "subject"=>#File:/tmp/RackMultipart20100404-598-nje11p-0>, "category_id"=>#File:/tmp/RackMultipart20100404-598-ijy1oo-0>, "lat"=>#File:/tmp/RackMultipart20100404-598-1a7140w-0>, "email"=>#File:/tmp/RackMultipart20100404-598-1b7w6jp-0>}}

part of the android code

try {

File file = new File(Environment.getExternalStorageDirectory(), "FMS_photo.jpg");

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://homepage.com/path");
FileBody bin = new FileBody(file);

Charset chars = Charset.forName("UTF-8");

MultipartEntity reqEntity = new MultipartEntity();
//reqEntity.addPart("problem[subject]", subject); reqEntity.addPart("problem[photos_attributes][0][image]", bin);
reqEntity.addPart("problem[category_id]", new StringBody("17", chars)); //....

post.setEntity(reqEntity); HttpResponse response = client.execute(post);

HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
resEntity.consumeContent();
}

return true;

} catch (Exception ex) { //Log.v(LOG_TAG, "Exception", ex); globalStatus = UPLOAD_ERROR; serverResponse = ""; return false; } finally {

}

© Stack Overflow or respective owner

Related posts about ruby

Related posts about android