使用httpcomponents上传文件完整案例代码
时间: 2024-06-09 10:05:16 浏览: 6
以下是使用Apache HttpComponents上传文件的完整案例代码:
```java
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
public class HttpComponentsUploadExample {
public static void main(String[] args) throws IOException {
// 声明要上传的文件
File file = new File("path/to/file");
// 构建要上传的 MultipartEntity
HttpEntity requestEntity = MultipartEntityBuilder.create()
.addPart("file", new FileBody(file, ContentType.DEFAULT_BINARY))
.build();
// 构建 HttpPost 请求
HttpPost post = new HttpPost("http://example.com/upload");
post.setEntity(requestEntity);
// 创建 HttpClient
HttpClient client = HttpClientBuilder.create().build();
// 发送请求并获取响应
HttpResponse response = client.execute(post);
// 解析响应
int statusCode = response.getStatusLine().getStatusCode();
String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
// 输出响应结果
System.out.println("Status code: " + statusCode);
System.out.println("Response body: " + responseBody);
}
}
```
其中,需要替换的部分有:
- `path/to/file`:要上传的文件的路径
- `http://example.com/upload`:上传文件的接口地址
注意,在使用 HttpComponents 上传文件时,需要使用 `MultipartEntityBuilder` 构建 MultipartEntity,并将要上传的文件添加到其中。在构建 `HttpPost` 请求时,将 MultipartEntity 设置为请求实体即可。上传完成后,从响应中获取状态码和响应体即可。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)