使用httpclient上传文件
来源:互联网 发布:淘宝联盟怎么转链接 编辑:程序博客网 时间:2024/05/17 22:11
由于客户端有上传文件的需求,服务器接收到客户端上传的文件后,需要将文件透传给后台业务系统.
以前给后台业务系统交互时,组装多段请求时使用的是org.apache.http.entity.mime.content.FileBody对象保存文件对象透传,但是这样的话,服务器需要在本地生成临时文件,比较麻烦.
今天偶然发现,可以使用org.apache.http.entity.mime.content.InputStreamBody.InputStreamBody(InputStream, String)类,直接将客户端的文件输入流拷贝一下就可以了.这样就省去了在本地生成临时文件的麻烦.
通过以上改造,省去了在本地生成临时文件的烦恼,并且使代码看起来更加直观.
这种方式适用于需要透传文件的地方.比如 "客户端"--"服务器"--"业务系统","客户端"最终要将文件上传到"业务系统",这时"服务器"就可以使用这种方法,直接透传,省时省力.
以前给后台业务系统交互时,组装多段请求时使用的是org.apache.http.entity.mime.content.FileBody对象保存文件对象透传,但是这样的话,服务器需要在本地生成临时文件,比较麻烦.
ContentBody body = new FileBody((File) value);entity.addPart("pic", body);这样的话需要先生成本地文件,上传成功后再删除临时文件,相当繁琐.
今天偶然发现,可以使用org.apache.http.entity.mime.content.InputStreamBody.InputStreamBody(InputStream, String)类,直接将客户端的文件输入流拷贝一下就可以了.这样就省去了在本地生成临时文件的麻烦.
ByteArrayInputStream bis = new ByteArrayInputStream(data);InputStreamBody isb = new InputStreamBody(bis, fileName);entity.addPart("pic", isb);
通过以上改造,省去了在本地生成临时文件的烦恼,并且使代码看起来更加直观.
这种方式适用于需要透传文件的地方.比如 "客户端"--"服务器"--"业务系统","客户端"最终要将文件上传到"业务系统",这时"服务器"就可以使用这种方法,直接透传,省时省力.
- 使用httpclient上传文件
- 使用httpclient上传文件
- 使用HttpClient上传文件
- 使用commons-httpclient上传文件
- RESTEasy使用httpclient上传文件
- 使用socket、httpclient 文件上传
- 使用httpclient上传文件到web服务器
- 使用 HttpClient 4 进行文件上传
- 使用HttpClient上传文件资源(已验证)
- 使用HttpClient实现百度PCS文件上传
- 使用 HttpClient 4 进行文件上传
- SpringMVC使用HttpClient实现文件上传
- 使用HttpClient实现文件的上传
- 使用httpclient提交表单方式上传文件
- HttpClient使用MultipartEntityBuilder实现多文件上传
- httpclient 上传文件
- httpclient上传文件
- httpclient 上传文件
- 【翻译】在Ext JS集成第三方库
- eclipse机器硬重启后package和project视图中看不见工作区间中的工程
- python写的一个服务器自动巡检工具
- 一个命令行的JVM监控工具
- alexa/SogouRank/PR API接口
- 使用httpclient上传文件
- Comet:基于 HTTP 长连接的“服务器推”技术
- freebsd下删除/var/spool中的文件
- PBMS-个人图书管理系统
- 转载的socks4 socks5 rfc1928一大堆
- Creating Contextual Menus创建上下文菜单
- 安卓开发11:操作控件
- ubuntu submission
- Security Manager Protocol (SMP) 安全管理协议