2011-07-22 9 views
5

Obrazy często wymaga specjalnych nagłówków HTTP, takich jak:Czy mogę przesłać obrazy i tekst za pomocą UrlEncodedFormEntity dla wielu części?

Content-disposition: attachment; filename="file2.jpeg" 
Content-type: image/jpeg 
Content-Transfer-Encoding: binary 

buduję mój post przy użyciu:

List<NameValuePair> formparams = new ArrayList<NameValuePair>(); 
UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(formparams); 

urlEncodedFormEntity pozwala setContentType, ale nie widzę w jaki sposób można mieszać oba obrazy i tekst ??

Odpowiedz

5
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 { 

} 

w ten atrybut problem będzie nosić obraz i myString nosić łańcuch ...

Powiązane problemy