我有一个我要上传的文件,所以我有这样的标准MultipartEntityBuilder:
MultipartEntityBuilder multiPartEntity = MultipartEntityBuilder.create();
multiPartEntity.addBinaryBody("file", file);
我也有一些表格参数,我用POST这样发送:
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("userId",userId));
postParameters.add(new BasicNameValuePair("taskId",taskId));
new UrlEncodedFormEntity(postParameters)
两者都是单独工作,我的问题如何在一个电话中同时进行?我需要将一个折叠到另一个中,这样我就可以在一个HttpPost()调用中进行此操作。
答案 0 :(得分:2)
您似乎对application/x-www-form-urlencoded
和multipart/form-data
内容类型感到困惑。发送多部分请求时,您使用的是multipart/form-data
,在这种情况下,您无需对内容进行URL编码。只需直接设置文本
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
multipartEntityBuilder.addBinaryBody("file", file);
multipartEntityBuilder.addTextBody("userId", "someIdWith@url$encodable<>characters");