小编典典

通过Java lib Apache Commons上传文件的简洁示例

java

[edit]我已删除了令人费解且格式错误的问题,以免损害下面的整洁而正确的答案。鉴于很难找到一个在线示例来完成这一难以置信的常见任务,(令人惊讶),我希望Yoni能够多一些回应。

所以…问题简而言之…

我如何使用Apache.Commons将文件上传到某个目标位置。我在Android中使用它并上传到PHP脚本,但是显然它可以在任何Java程序和任何基于HTTP的侦听器中工作。


阅读 212

收藏
2020-11-19

共1个答案

小编典典

MultipartRequestEntity的api中:

File f = new File("/path/fileToUpload.txt");
PostMethod filePost = new PostMethod("http://host/some_path");
Part[] parts = {
    new StringPart("param_name", "value"),
    new FilePart(f.getName(), f)
};
filePost.setRequestEntity(
    new MultipartRequestEntity(parts, filePost.getParams())
);
HttpClient client = new HttpClient();
int status = client.executeMethod(filePost);
  • 我认为您不需要内容配置部分,该部分用于另一个方向(当浏览器下载文件并需要知道如何处理时)。
  • getParams.setParameter是可选的。您也可以直接在HttpClient实例上进行设置。
  • AFAIK,设置请求标头的顺序无关紧要,只要它们在设置请求正文之前都已设置即可。
2020-11-19