【问题标题】:HttpClient 4 + HttpPost help with file name encodingHttpClient 4 + HttpPost 帮助文件名编码
【发布时间】:2011-07-17 15:00:50
【问题描述】:

我正在尝试将文件上传到 servlet。我正在尝试将文件名添加到标题并在 servlet 上读取...但是在 servlet 端,我能得到的文件名(包含西里尔字母)只有??? ?????.wmv。所以我的问题是如何正确上传带有 ciryllic 文件名的文件?

我使用 HttpClient 4

the code snippet:

HttpClient httpclient = new DefaultHttpClient();
          httpclient.getParams().setParameter(CoreProtocolPNames.
                                              PROTOCOL_VERSION,
                                              HttpVersion.HTTP_1_1);

          String url="testUrl";
          httppost = new HttpPost(url);
          httppost.addHeader(FILE_NAME_HEADER, file.getName());

感谢任何有用的评论:)

安德鲁

【问题讨论】:

    标签: java file-io file-upload uploading multifile-uploader


    【解决方案1】:

    我个人使用 Apache Commons FileUpload 库来处理文件上传。这是link。您可以使用这个库,而不是自己做。如果它不能满足您的需求,您仍然可以使用自己的解决方案。

    【讨论】:

    • 好吧,我只是想使用 HttpComponents lib :) 但我不明白如何设置客户端和 servlet 的正确编码?
    • 有人知道如何为 HttpClient 4 设置标头编码吗?
    • 哦,我的... HttpClient 4 是否支持将编码转换为西里尔文等?
    【解决方案2】:

    使用 HttpMultipartMode.BROWSER_COMPATIBLE 模式。 详情见https://issues.apache.org/jira/browse/HTTPCLIENT-293

    【讨论】:

    • 谢谢,但我找不到如何正确使用它以及它提供了什么?请给我一些sn-ps好吗?
    猜你喜欢
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多