2014-03-25 33 views
1

我有我要上傳,所以我有你的標準MultipartEntityBuilder像這樣的文件:如何添加UrlEncodedFormEntity到MultipartEntityBuilder

MultipartEntityBuilder multiPartEntity = MultipartEntityBuilder.create(); 
multiPartEntity.addBinaryBody("file", file); 

我也有某種形式的PARAMS,我與POST像這樣送:

ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); 
postParameters.add(new BasicNameValuePair("userId",userId)); 
postParameters.add(new BasicNameValuePair("taskId",taskId)); 
new UrlEncodedFormEntity(postParameters) 

兩者都單獨工作,我的問題我如何在一個通話中同時處理這兩個問題?我需要摺疊到另一個,所以我可以在一個HttpPost()調用中做到這一點。

回答

1

您似乎混淆了application/x-www-form-urlencodedmultipart/form-data內容類型。發送多部分請求時,您使用的是multipart/form-data,在這種情況下,您不需要對內容進行網址編碼。只需設定文本直接

MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create(); 
multipartEntityBuilder.addBinaryBody("file", file); 
multipartEntityBuilder.addTextBody("userId", "[email protected]$encodable<>characters"); 

See the specification for more details.