【问题标题】:Concise example of file upload via Java lib Apache Commons通过 Java lib Apache Commons 上传文件的简明示例
【发布时间】:2011-04-11 12:21:49
【问题描述】:

[编辑] 我已经删除了我令人费解且格式错误的问题,这样它就不会影响下面非常整洁和正确的答案。鉴于要找到一个在线示例来完成这个非常常见的任务非常困难(令人惊讶),我希望 Yoni 的回答能得到更多的好评。

所以...简而言之这个问题...

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

【问题讨论】:

    标签: java android file-upload apache-commons


    【解决方案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);
    
    • 我认为您不需要 content-disposition 部分,它用于其他方向(当浏览器下载文件并需要知道如何处理它时)。
    • getParams.setParameter 是可选的。也可以直接在 HttpClient 实例上设置。
    • AFAIK,设置请求标头的顺序无关紧要,只要在设置请求正文之前全部设置即可。

    【讨论】:

    • 有人需要亲吻你。你不知道试图得到这个可笑的“简单”答案是多么痛苦。我将放弃我的问题并重写它,以免占用大量空间并弄得一团糟……再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2011-01-10
    • 1970-01-01
    • 2014-08-09
    • 2012-07-10
    • 1970-01-01
    相关资源
    最近更新 更多