最近在公司给客户端做接口,有一个图片上传和文件下载的功能,本来想用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");
}
上传成功:
下载成功:
完美。
转载于:https://my.oschina.net/u/3069816/blog/792745