httpclient上传multipart/form-data格的文件
时间: 2023-10-17 20:05:53 浏览: 235
可以使用Apache的HttpClient库来上传multipart/form-data格式的文件。以下是示例代码:
```java
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.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.File;
public class UploadFileExample {
public static void main(String[] args) throws Exception {
File file = new File("/path/to/file");
String url = "http://example.com/upload";
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addPart("file", new FileBody(file));
HttpEntity entity = builder.build();
post.setEntity(entity);
HttpResponse response = client.execute(post);
System.out.println(response.getStatusLine().getStatusCode());
}
}
```
在上面的示例代码中,我们使用了MultipartEntityBuilder来构建multipart/form-data格式的请求体,并将文件添加为一个part。然后将构建好的entity设置到HttpPost对象中,并使用HttpClient来执行请求。注意需要替换文件路径和URL。