PostMethod发送文件参数,并获取结果
时间: 2024-05-13 15:15:49 浏览: 84
发送文件参数可以使用`MultipartEntity`类来构建请求参数,示例代码如下:
```java
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
// 添加文件参数
File file = new File("file.txt");
builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, file.getName());
// 添加其他参数
builder.addTextBody("param1", "value1");
builder.addTextBody("param2", "value2");
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
CloseableHttpResponse response = httpClient.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
String result = EntityUtils.toString(responseEntity);
```
其中,`url`是接口地址,`file`是要上传的文件,`param1`和`param2`是其他参数。上传文件时使用`addBinaryBody`方法,其他参数使用`addTextBody`方法。最后执行`httpClient.execute(httpPost)`发送请求,获取响应结果并解析即可。
需要注意的是,上传文件时需要设置`ContentType`为`DEFAULT_BINARY`,这样才能正确上传二进制文件。
阅读全文