Images often requires special HTTP headers like:
Content-disposition: attachment; filename="file2.jpeg"
Content-type: image/jpeg
Content-Transfer-Encoding: binary
I'm building my POST using:
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(formparams);
urlEncodedFormEntity allows setContentType, but I don't see how I can MIX both images and text ??
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[photos_attributes][0][image]", bin);  
   reqEntity.addPart("myString", 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) {
    globalStatus = UPLOAD_ERROR;
    serverResponse = "";
    return false;
  } finally {
 }
in this the problem attribute will carry the image and myString carry the string...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With