httpclient 上传文件

来源:互联网 发布:火车票查询软件 编辑:程序博客网 时间:2024/06/05 16:42

3.0版本

用MultipartRequestEntity方式,怎么搞都不行。最后还是用了MultipartPostMethod,才算搞定

总之,不好使啊.

具体使用方式如下:

1,MultipartPostMethod post = new MultipartPostMethod("http://localhost:8080/admin/ResourceAnd.action");

2,post.addRequestHeader("Content-Type", "multipart/form-data; charset=UTF-8");//这一步似乎不设置也没关系

3,StringPart namePart=new StringPart("name",name);//对于简单的值对都这样处理
     namePart.setCharSet("UTF-8");//注意要设置编码,与你处理请求的代码中设置的一样

4,File pic0 = new File(path + pic);//读File
     FilePart picPart0 = new FilePart("icon", pic0);//构造FilePart
     picPart0.setContentType(MimeMap.getContentType4FileName(pic));//设置content type,为image/gif样式的,如果不设置默认就是application/octet-stream。
     picPart0.setCharSet(null);//必须设置为null,否则会在应用struts2时,通过*Type字段获得type时会有一个charSet=ISO-8859-1添加到后面(使用别的文件处理框架时不详,没有验证)

5,int status = proxyclient.executeMethod(post);//获得状态,200:处理成功
     System.out.println(post.getResponseBodyAsString());//最好使用推荐使用的其他方式

至此处理完毕。

原创粉丝点击