- 浏览: 27940 次
- 性别:
- 来自: 襄樊
文章分类
最新评论
httpclient上传文件实际上就是模拟一个http的表单提交请求。
package test.httpclient4; import java.io.File; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class SendFile { public static void main(String[] args) throws ClientProtocolException, IOException { HttpClient httpclient = new DefaultHttpClient(); //请求处理页面 HttpPost httppost = new HttpPost( "http://localhost:8080/webtools/upload.jsp"); //创建待处理的文件 FileBody file = new FileBody(new File("d:/22.rar")); //创建待处理的表单域内容文本 StringBody descript = new StringBody("0431.la"); //对请求的表单域进行填充 MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("file", file); reqEntity.addPart("descript", descript); //设置请求 httppost.setEntity(reqEntity); //执行 HttpResponse response = httpclient.execute(httppost); //HttpEntity resEntity = response.getEntity(); //System.out.println(response.getStatusLine()); if(HttpStatus.SC_OK==response.getStatusLine().getStatusCode()){ HttpEntity entity = response.getEntity(); //显示内容 if (entity != null) { System.out.println(EntityUtils.toString(entity)); } if (entity != null) { entity.consumeContent(); } } } }
这里说明一下 需要一个额外的包,apache 的mime4j 的lib。
- lib.rar (964.4 KB)
- 下载次数: 52
发表评论
文章已被作者锁定,不允许评论。
-
liunx基本命令
2011-09-01 11:04 617Liunx基本命令 3、 vi 编辑器的使用 1 ... -
按字符节,截取字符串的长度
2011-08-31 11:08 877package com.ncss.test.yfJunit; ... -
java中导出txt文件公共方法
2011-08-01 10:23 995import java.io.BufferedReader; ... -
junit测试
2011-07-18 10:17 616import org.springframework.cont ... -
创建tomcat的虚拟路径
2011-02-28 17:05 658在tomcat下的conf文件下的server.xml文件中的 ... -
获取文件路径
2011-01-18 11:16 732//获取文件路径 String paths=System. ... -
dtree树形菜单
2010-11-08 12:59 1687dtree.js // Node object funct ... -
但纷纷
2010-10-26 23:15 588的vdffff -
取得两个日期之间的所有日期
2010-10-14 09:05 1065/** * 取得两个日期之间的所有日期 * beg ... -
实现收税
2010-09-15 14:57 650import java.util.*; public ... -
MD5 加密解密
2010-09-14 15:47 721package cn.net.ssd.common.forma ... -
正则表达式的语法
2010-08-05 17:57 639正则表达式由一些普通字符和一些元字符(metacharac ... -
Java获取网页所有网址和链接文字(正则表达式)
2010-08-05 16:03 2473// 通过指定URL,获取网页上所有的“链接URL”和“链接 ... -
所有java中找包地址
2010-08-04 11:33 619所有的java中找包的地址:http://www.jarfin ... -
简单的分页
2010-08-03 15:20 574java中实现分页 -
按时间格式自动增长ID
2010-08-03 15:14 664数据库中的ID自动增长按时间的形式 -
记事本导入mysql数据库的方法
2010-08-03 14:58 1140java中记事本分割导入mysql数据库 -
excel导出公共方法
2010-08-03 14:53 587java中导出excel的公共方法的案例 -
amcharts报表
2010-08-03 14:32 1279java中的报表。amcharts做的。有饼状图、柱状图、折线 ...
相关推荐
文档中详细演示了如何使用HttpClient4进行文件上传
httpclient-4.5所需jar包httpclient-4.5所需jar包httpclient-4.5所需jar包httpclient-4.5所需jar包
commons-httpclient-3.1jar,commons-fileupload-1.2.jar
使用c#实现的HttpClient拼接multipart/form-data形式参数post提交数据,包含图片内容,有需要的可以下载,希望能帮到有需要的人,
httpclient和RestfuL服务风格上传下载文件,可改为JAVA分布式系统进行交互,具体用法和改法详见代码里的注释
本功能支持文件上传 下载,支持请求流,支持JSON、XML请求,本版本是httpclient 4,其它jar包自行下载
使用HttpClient实现文件的上传所需lib
使用httpclient上传文件, CloseableHttpClient httpClient = HttpClientBuilder.create().build();
NULL 博文链接:https://sharron5.iteye.com/blog/795768
服务器端自己写,本示例为客户端代码,可以解决httpClient4乱码问题,是替代修改源码的最佳写法。
在开发中遇到乱码问题 上传文件并传其它参数时 按网上多种方法尝试设置UTF-8编码总是不好用,只好修改源码统一编码为utf-8 后打包,解决问题 此包没有经过其它编码环境下测试,不过应该不会有其它影响
文件上传 HttpClient
本人自己总结的httpClient PostMethod 上传文件完整实例 以及 使用java PostMethod 和GetMethod 发送请求实例 及乱码处理
httpClient上传文件,能直接运行的代码,appache commons
HttpClient 上传文件 Servlet 处理文件上传 commons-fileupload 处理文件上传 commons-fileupload 处理文件上传,在struts中可以不用对应actionform,在jsp,servelet中应用都很方便
还要用到httpcomponents-core-4和HTMLParser-2.0-SNAPSHOT,后者是用来解析页面元素的。用过滤器能很容易抓到要的元素。(对下过这个资源的人说声抱歉,之前个人失误上传的是src文件。现在把资源分改为0)
HttpClient4.2.5实现文件上传,无中文文件名乱码问题。亲测无问题。有问题可吐槽!
使用HttpClient方式进行文件上传时需要用到的jar包,亲测可用。