博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
左右HttpClient上传的方法来解决中国的乱码
阅读量:5775 次
发布时间:2019-06-18

本文共 1506 字,大约阅读时间需要 5 分钟。

        二手HttpClient人们都知道通过addTextBody方法来加入要上传的文本信息,可是,假设要上传中文的话。或还有中文名称的文件会出现乱码的问题,解决的方法事实上非常easy:

第一步:设置MultipartEntityBuilder的编码方式为UTF-8。

builder.setCharset(Charset.forName(HTTP.UTF_8));//设置请求的编码格式

第二步:创建ContentType对象,指定UTF-8编码。

ContentType contentType= ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
     

第三步:使用addPart+ StringBody取代addTextBody。如:

StringBody stringBody=new StringBody("中文乱码",contentType);builder.addPart("test",stringBody);
附上完整代码:

ContentType contentType = ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);      HttpClient client=new DefaultHttpClient();// 开启一个客户端 HTTP 请求 HttpPost post = new HttpPost(url);//创建 HTTP POST 请求  MultipartEntityBuilder builder = MultipartEntityBuilder.create();builder.setCharset(Charset.forName(HTTP.UTF_8));//设置请求的编码格式builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);//设置浏览器兼容模式int count=0;for (File file:files) {//			FileBody fileBody = new FileBody(file);//把文件转换成流对象FileBody//			builder.addPart("file"+count, fileBody);	builder.addBinaryBody("file"+count, file);	count++;}		builder.addTextBody("method", params.get("method"));//设置请求參数builder.addTextBody("fileTypes", params.get("fileTypes"));//设置请求參数StringBody stringBody=new StringBody("中文乱码",contentType);builder.addPart("test", stringBody);HttpEntity entity = builder.build();// 生成 HTTP POST 实体  	post.setEntity(entity);//设置请求參数HttpResponse response = client.execute(post);// 发起请求 并返回请求的响应if (response.getStatusLine().getStatusCode()==200) {	return true;}return false;

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
我的IDEA配置
查看>>
myeclipse显示行号
查看>>
编写高性能的java程序
查看>>
Spring 的配置详解
查看>>
linux已经不存在惊群现象
查看>>
上位机和底层逻辑的解耦
查看>>
关于微信二次分享 配置标题 描述 图片??
查看>>
springcloud使用zookeeper作为config的配置中心
查看>>
校园火灾Focue-2---》洗手间的一套-》电梯
查看>>
css控制文字换行
查看>>
bzoj1913
查看>>
L104
查看>>
分镜头脚本
查看>>
链表基本操作的实现(转)
查看>>
邮件发送1
查看>>
[转] libcurl异步方式使用总结(附流程图)
查看>>
编译安装LNMP
查看>>
[转]基于display:table的CSS布局
查看>>
crm 02--->讲师页面及逻辑
查看>>
AS3.0 Bitmap类实现图片3D旋转效果
查看>>