HttpPost java上传文件实例
时间: 2023-10-29 15:59:15 浏览: 33
以下是一个简单的 Java HttpPost 上传文件的示例:
```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;
import java.io.IOException;
public class FileUploader {
public static void main(String[] args) throws IOException {
String url = "http://localhost:8080/upload";
String filePath = "/path/to/file.txt";
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);
File fileToUpload = new File(filePath);
FileBody fileBody = new FileBody(fileToUpload);
HttpEntity entity = MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.addPart("file", fileBody)
.build();
httpPost.setEntity(entity);
HttpResponse httpResponse = httpClient.execute(httpPost);
System.out.println("Response Code : " + httpResponse.getStatusLine().getStatusCode());
}
}
```
在此示例中,我们使用 Apache HttpClient 库来构建 HttpPost 请求并上传文件。我们首先创建一个 HttpClient 实例,然后创建一个 HttpPost 实例,并指定要上传到的 URL。接下来,我们使用 FileBody 类创建一个文件主体,然后使用 MultipartEntityBuilder 类创建一个包含文件主体的多部分实体。最后,我们将实体设置为 HttpPost 对象的实体,并执行请求。