文档章节

基于Java的一个简单的文件上传下载功能

z
 zhangyingh
发布于 2016/11/23 11:06
字数 320
阅读 38
收藏 0

最近在公司给客户端做接口,有一个图片上传和文件下载的功能,本来想用Struts来做文件上传下载,但是看了下公司好像没有这个配置,然后看了下同事的代码,才发现原来Apache也可以简单的实现文件上传下载。 
首先引入commons-io-2.2.jar 
FileUtils为我们提供了很多对文件的操作的方法,比如上传整个文件夹的文件、上传单个文件等 
然后请看代码下载
public static void uploadFile(String targetDirectory,String targetFileName,File file){ 
try { 
File target = new File(targetDirectory, targetFileName); 
/** 
* 上传整个文件夹文件 
* */ 
//FileUtils.copyDirectory(file,target); 
/** 
* 上传单个文件 
* */ 
FileUtils.copyFile(file, target); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 

}
 

到这为止 一个简单的文件上传就完成了。接下来看看下载文件: 
public static void downloadUrl(String httpurl,String targetDirectory){ 
try { 
FileUtils.copyURLToFile(new URL(httpurl), 
new File(targetDirectory)); 
} catch (MalformedURLException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 

}
 

然后来一个man方法测试是否正确: 

public static void main(String[] args) { 
//上传 
File file = new File("D:/tp/xiazai.png"); 
FileUtil.uploadFile("D:/Test/", "uplod2016.png",file); 

//
下载下载 
FileUtil.downloadUrl("http://img5.pcpop.com/ArticleImages/500x375/1/1613/001613973.jpg","D:/Test/jams.png");
}
 
上传成功: 
 
下载成功: 

 
完美。 

© 著作权归作者所有

共有 人打赏支持
z
粉丝 0
博文 2
码字总数 674
作品 0
济南
私信 提问
Apache commons ftp API 的Spike

由于公司给了我一个传FTP的任务,刚好可以学习一下,同时也进行了一些单元测试,spike了一把,哈哈。分享一下。 这里只对最简单常用的FtpClient的上传下载列表功能进行测试学习使用^-^ 创建一...

XzhiF
2013/12/13
0
9
八步教你在笔记本电脑创建Hadoop本地实例!

  【IT168 评论】要想进入大数据领域,Hadoop是一件非常重要的事情,它具有复杂的安装过程,大量的集群,数百台机器以及TB(或者PB)级别的数据等。但实际上,用户可以下载简单的JAR并在个人...

it168网站
05/25
0
0
通过Google App Engine搭建自己的网盘

我们经常会遇到这样的情况:自己有一个文件需要上传,往往放到网盘内,结果又是广告又是等待;有的需要记住账号密码来登录。那么有没有一种方法可以让我们很轻松地上传并分享自己的文件,所有...

ericpeng
2010/12/17
0
0
Centos下安装类百度文库环境

使用php实现百度文库功能,网上搜索到的方案,实现doc转pdf,pdf转swf,然后显示出来。 这里简单的记录下,【doc转pdf,pdf转swf】两个功能的搭建流程。 doc转pdf 使用到下列程序(文件): Ap...

DragonFK
2013/02/20
0
1
CentOS上mysql5.7.23安装

因各种需要,要用到mysql, 记录下安装过程。 1.下载mysql 2.上传到服务器 利用putty上传到/usr/local目录下在https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 下载putty后安...

hensemlee
10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

浅析微信支付:开通免充值产品功能及如何进行接口升级指引

本文是【浅析微信支付】系列文章的第十五篇,主要讲解如何开通免充值产品功能流程和其中的注意事项,对于接口升级会重要讲解,避免爬坑。 浅析微信支付系列已经更新十五篇了哟~,没有看过的...

YClimb
55分钟前
2
0
看看ArrayDeque源码

之前看了其他实现Deque接口的类,这里再看看ArrayDeque吧,下图可以看到这个类设计的结构层次,其实Deque接口是继承了Queue接口的。用可调整大小的数组实现Deque接口。没有容量限制,他们根据...

woshixin
55分钟前
2
0
如何存储登录cookie,发送一个post类型的api请求?

其实发送post请求和get请求一样,主要就是不知道如何存储登录cookie进行发送请求,请教xx得到如下解决办法 点击右下方的cookies,填写cookies信息,如图 1填写登录的cookie名,2填写cookie的...

七曦777
56分钟前
2
0
利用cefSharp实现网页自动注册登录的需要注册的一些事项

最近朋友有个需要自动注册登录点击的事,我帮着写了写,好久没写过这东西了,在写的过程中总结了需要注意的一些事项。 一、换IP之后要测试一下速度,我目前用的最简单的测试方法就是20-30秒加...

我退而结网
今天
2
0
Go语言中使用 BoltDB数据库

boltdb 是使用Go语言编写的开源的键值对数据库,Github的地址如下: https://github.com/boltdb/bolt boltdb 存储数据时 key 和 value 都要求是字节数据,此处需要使用到 序列化和反序列化。...

Oo若离oO
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部