java 通过HTTP接口发送文件
时间: 2023-08-16 19:04:44 浏览: 41
要通过Java发送文件,可以使用HTTP POST请求。以下是一个简单的例子:
```
import java.io.File;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
public class SendFile {
public static void main(String[] args) throws IOException {
String url = "http://example.com/upload";
String filePath = "/path/to/file.txt";
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(url);
// 添加文件参数
FilePart filePart = new FilePart("file", new File(filePath));
MultipartRequestEntity requestEntity = new MultipartRequestEntity(
new Part[] { filePart },
post.getParams()
);
post.setRequestEntity(requestEntity);
// 发送请求
int statusCode = client.executeMethod(post);
if (statusCode == 200) {
System.out.println("文件上传成功!");
} else {
System.out.println("文件上传失败,错误码:" + statusCode);
}
}
}
```
在上面的代码中,我们使用了 Apache HttpComponents 和 Apache Commons FileUpload 库来发送文件。首先,我们创建了一个 `HttpClient` 对象和一个 `PostMethod` 对象,并指定了上传文件的 URL。然后,我们创建一个 `FilePart` 对象,将文件作为参数添加到请求中,并将其封装到 `MultipartRequestEntity` 对象中。最后,我们使用 `HttpClient` 对象发送请求,并检查响应状态码来确定上传是否成功。