java httpclient 下载文件_httpclient 上传文件、下载文件
/**
* 上传文件
* @throws ParseException
* @throws IOException
*/
publicstaticvoidpostFile()throwsParseException, IOException{
CloseableHttpClient httpClient = HttpClients.createDefault();
try{
// 要上传的文件的路径
String filePath =newString("F:/pic/001.jpg");
// 把一个普通参数和文件上传给下面这个地址 是一个servlet
HttpPost httpPost =newHttpPost(
"http://localhost:8080/xxx/xxx.action");
// 把文件转换成流对象FileBody
File file =newFile(filePath);
FileBody bin =newFileBody(file);
StringBody uploadFileName =newStringBody(
"把我修改成文件名称", ContentType.create(
"text/plain", Consts.UTF_8));
//以浏览器兼容模式运行,防止文件名乱码。
HttpEntity reqEntity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.addPart("uploadFile", bin)//uploadFile对应服务端类的同名属性
.addPart("uploadFileName", uploadFileName)//uploadFileName对应服务端类的同名属性
.setCharset(CharsetUtils.get("UTF-8")).build();
httpPost.setEntity(reqEntity);
System.out.println("发起请求的页面地址 "+ httpPost.getRequestLine());
// 发起请求 并返回请求的响应
CloseableHttpResponse response = httpClient.execute(httpPost);
try{
System.out.println("----------------------------------------");
// 打印响应状态
System.out.println(response.getStatusLine());
// 获取响应对象
HttpEntity resEntity = response.getEntity();
if(resEntity !=null) {
// 打印响应长度
System.out.println("Response content length: "
+ resEntity.getContentLength());
// 打印响应内容
System.out.println(EntityUtils.toString(resEntity,
Charset.forName("UTF-8")));
}
// 销毁
EntityUtils.consume(resEntity);
}finally{
response.close();
}
}finally{
httpClient.close();
}
}
/**
* 下载文件
* @param url
* @param destFileName xxx.jpg/xxx.png/xxx.txt
* @throws ClientProtocolException
* @throws IOException
*/
publicstaticvoidgetFile(String url, String destFileName)
throwsClientProtocolException, IOException {
// 生成一个httpclient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpget =newHttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
InputStream in = entity.getContent();
File file =newFile(destFileName);
try{
FileOutputStream fout =newFileOutputStream(file);
intl = -1;
byte[] tmp =newbyte[1024];
while((l = in.read(tmp)) != -1) {
fout.write(tmp,0, l);
// 注意这里如果用OutputStream.write(buff)的话,图片会失真,大家可以试试
}
fout.flush();
fout.close();
}finally{
// 关闭低层流。
in.close();
}
httpclient.close();
}
java httpclient 下载文件_httpclient 上传文件、下载文件相关推荐
- 初学Java Web(7)——文件的上传和下载
文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
- FastDFS:Java客户都实现文件的上传、下载、修改、删除
FastDFS:Java客户都实现文件的上传.下载.修改.删除 <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...
- nginx java文件上传_Nginx实现文件的上传和下载
文件的上传只要保证特殊的地址先到达Nginx,然后通过Nginx指定至指定的服务器即可,目前配置是本机.文件的下载的做法就是把本机的当前目录下面的文件给返回回去. server { listen ; ...
- java struts2下载文件_Struts2下多文件的上传与下载
Struts2下多文件的上传与下载 目录 多文件 上传 下载 随意文件java Struts2单例 配置 动态读取 李顺利 在网络上,对于Java处理文件上传和下载的技术比较多,而Struts作为一款 ...
- java图片上传下载_java实现文件的上传和下载
1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...
- Hadoop环境下用java代码实现hdfs远程文件的上传和下载
Hadoop环境下用java代码实现hdfs远程文件的上传和下载 文章目录 Hadoop环境下用java代码实现hdfs远程文件的上传和下载 一.新建maven工程 二.文件的上传 三.文件的下载 四 ...
- Java ftp实现文件的上传和下载ftp,sftp sun.net.ftp.FtpProtocolException:Welcome message: SSH-2.0-OpenSSH_5.1
Java ftp实现文件的上传和下载 ftp,sftp 运行后发现很长时间没有反应,很久以后抛出如下异常:sun.net.ftp.FtpProtocolException:Welcome messag ...
- SpringMVC实现文件的上传和下载
SpringMVC实现文件的上传和下载http://www.bieryun.com/1120.html 前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的 ...
- SpringMVC实现文件的上传与下载
文件的上传与下载可以说是工作中经常使用的功能,现在整理一下,希望能够给大家一个参考.这里以 Maven 的形式来创建项目,相关的配置文件会把主要的内容列出来,其他头文件信息不再一一全部的列出.最后会把 ...
最新文章
- Eclipse RCP 中将窗口始终保持在最前
- Silverlight+WCF 新手实例 象棋 主界面-事件区-求和认输(三十二)
- new Map的妙用
- 备考信息系统项目管理师5点必过经验
- resin php extensions sockets,linux 有关笔记
- localdatetime 获取天_LocalDateTime的一些用法
- sql注入 练手网站_靶场sql注入练手----sqlmap篇(纯手打)
- WIn7虚拟机下运行H3CCloud出错问题
- 完了!Oracle 被虐!MySQL 登顶 Top1!原来这么多人都在用
- css3中的zoom属性以及jquery中css()方法操作元素的属性
- 创建crawlspider爬虫 学习笔记
- DP(递归打印路径) UVA 662 Fast Food
- 球形天空盒php,unity3d天空盒
- Android Framework 音频子系统(02)音频系统框架
- QQ/微信 聊天表情显示原理
- qq2009 好像和金山词霸屏幕取词有冲突
- 已知随机变量X的协方差矩阵求去X的特征值 特征向量 PCA投影矩阵
- PHP导出Excel方法大全
- 解决AMD Software提示图形驱动版本不匹配问题
- Goolge Colab免费GPU服务器使用教程
热门文章
- Springboot中关于跨域问题的一种解决方法
- 为什么git的“ pull request”不称为“ push request”?
- 在Java中从字符串中删除空格
- 删除Chrome自动完成功能的输入背景色?
- 忽略git项目上的任何#39;bin#39;目录
- win11打开应用被管理员阻止怎么办 window11管理员已阻止你运行此应用的解决方法
- 未预期的符号 `( 附近有语法错误_苹果iOS 14.2现在提供117种新的表情符号和新的壁纸...
- linux中利用shell脚本条件执行linux命令
- mysql免费框架_MySQL(ORM框架)
- eclipse中怎么安装spring插件_安装eclipse中容易遇到的问题