代码之家  ›  专栏  ›  技术社区  ›  Yevgeny Simkin

通过javalibapachecommons上传文件的简明示例

  •  2
  • Yevgeny Simkin  · 技术社区  · 14 年前

    我已经去掉了我的复杂和严重畸形的问题,这样它就不会减损下面非常整洁和正确的答案。考虑到很难找到一个在线的例子来完成这项非常普通的任务,我希望Yoni能得到更多的回应。

    所以。。。简而言之,这个问题。。。

    如何使用阿帕奇。公地将文件上载到某个目标。我在Android中使用它并将其上传到PHP脚本,但显然它可以在任何Java程序和任何基于HTTP的侦听器中工作。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Yoni    14 年前

    从的api MultipartRequestEntity

    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实例上设置它。
    • 好吧,设置请求头的顺序是不相关的,只要在设置请求体之前都设置好了。