关于httpclient上传文件是中文名称的处理

原创 2004年10月19日 09:32:00

在一个项目中,上传文件采用httpclient来post文件,在测试中发现 如果文件是中文名称,上传的文件是乱码
经过跟踪发现,原来在httpclient中进行了编码,为ASCII,所以为乱码
org/apache/commons/httpclient/util包下EncodingUtil.java

  /**
     * Converts the specified string to byte array of ASCII characters.
     *
     * @param data the string to be encoded
     * @return The string as a byte array.
     *
     * @since 3.0
     */
    public static byte[] getAsciiBytes(final String data) {

        if (data == null) {
            throw new IllegalArgumentException("Parameter may not be null");
        }

        try {
            return data.getBytes("US-ASCII");
        } catch (UnsupportedEncodingException e) {
            throw new HttpClientError("HttpClient requires ASCII support");
        }
    }

解决方法:
1 在接收端处理ascii数据
2 重新编译httpclient包,即更改上面的方法 ,改为iso8859-1或utf-8
这样可以解决中文的问题

采用httpclient是一个很好的方法,可以给你其他的系统post数据,好像delphi中的indy控件,


解决httpclient上传文件的时候中文文件名乱码的问题

需要做一下设置: 完整代码: public static String post(String url,Map paramsMap) throws ClientProtocolException...
  • u012685794
  • u012685794
  • 2016年06月24日 21:30
  • 2670

使用Httpclient(post请求)上传文件及其他参数到https协议的服务器

最近有一个需求要用到httpclient大概如下:    运用httpclient发送请求到一个https的服务器,其中一个参数就是一个xml文件,也就是需要把文件传上去, 而且有其他的参数,如果用普...
  • majer_yu
  • majer_yu
  • 2017年11月16日 17:25
  • 403

HttpClient 实现文件的上传

文件上传可以使用两种方式实现,一种是PostMethod方式,一种是HttpPost方式。两者的处理大同小异。PostMethod是使用FileBody将文件包装流包装起来,HttpPost是使用Fi...
  • natur_630
  • natur_630
  • 2017年06月01日 17:35
  • 851

通过httpclient把文件上传到服务器-------服务器处理部分

1、首先客户端前端是通过Http
  • u013926113
  • u013926113
  • 2014年08月08日 14:16
  • 1590

HttpClient4.5.2由Client客户端上传File文件流至Server服务端

应用场景:java代码部分做文件资源同步。比如:应用系统将上传的文件备份或同步至文件服务器中。代码位置位于java client相关代码部分,将文件流通过httpClient工具发送网络请求到服务器上...
  • ahuyangdong
  • ahuyangdong
  • 2017年01月11日 15:03
  • 5204

HttpClient MultipartRequestEntity文件上传

HttpClient访问第三方项目接口上传文件的实现方案,并解决中文乱码问题,并且在上传文件的时候传输多个其他参数; 第一种方案,中文参数在url内部,使用URLEncoder类对中文进行enc...
  • u013372993
  • u013372993
  • 2017年08月07日 15:38
  • 441

HttpClient3.x文件上传

package com.zzj.http; import java.io.File; import java.io.IOException; import org.apache.commons.h...
  • zhangzeyuaaa
  • zhangzeyuaaa
  • 2016年01月02日 16:59
  • 1213

SpringMVC使用HttpClient实现文件上传

HttpClient API地址:http://hc.apache.org/httpclient-3.x/apidocs/ HttpClient httpclient = new DefaultH...
  • u012147490
  • u012147490
  • 2016年09月29日 09:17
  • 2177

httpclient 3上传文件例子

/**      * 发送文件到另一台服务器B      *        * @param File file 附件      * @param serviceType服务类型  ...
  • yucaifu1989
  • yucaifu1989
  • 2016年03月02日 15:04
  • 741

httpclient  实现文件上传中转

开发功能: web前端提交上传文件 —> a服务器接收 —> 转发到b服务器进行文件处理 public String handleResponse(HttpServletRequest req...
  • bojie5744
  • bojie5744
  • 2017年07月25日 14:30
  • 441
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于httpclient上传文件是中文名称的处理
举报原因:
原因补充:

(最多只允许输入30个字)