最近在公司給客戶端做接口,有一個圖片上傳和文件下載的功能,本來想用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");
}
上傳成功:
下載成功:
完美。
獻上源碼,望與各位兄弟一起努力進步。
見附件
本來寫在iteye,發現被csdn一個哥們轉載了,也就算了,居然還植入廣告,現獻上原創鏈接及源碼一份,望共進步。