上传文件的类UpFile : package com.teaweb.util; import java.io.File; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; public class UpFile { private File[] upload; private String[] uploadContentType; private String[] uploadFileName; private String[] targetFileName; private String[] dir; public String[] getDir() { return dir; } public void setDir(String[] dir) { this.dir = dir; } public String[] getTargetFileName() { return targetFileName; } public void setTargetFileName(String[] targetFileName) { this.targetFileName = targetFileName; } public File[] getUpload() { return upload; } public void setUpload(File[] upload) { this.upload = upload; } public String[] getUploadContentType() { return uploadContentType; } public void setUploadContentType(String[] uploadContentType) { this.uploadContentType = uploadContentType; } public String[] getUploadFileName() { return uploadFileName; } public void setUploadFileName(String[] uploadFileName) { this.uploadFileName = uploadFileName; } /** * 上传文件 * @param req * @return * @throws IOException */ public String upfile(){ StringBuffer uppic = new StringBuffer("");//数据库存放的路径字符串 HttpServletRequest req = ServletActionContext.getRequest(); PublicMethod pm = new PublicMethod();//公共方法 String genDir = pm.genDir("/images/img",req);//生成存放的目录 String realPath = req.getRealPath(genDir); String targetDirectory = realPath;//存放文件的绝对路径 String cumdir = genDir; String [] mydir = new String[upload.length]; String [] tname = new String[upload.length]; for(int i = 0;i<upload.length;i++){ if(upload[i].exists()){ tname[i]= pm.generateFileName(uploadFileName[i]); if(upload.length!=i+1) uppic.append(cumdir+tname[i]+"|");//保存到数据库的路径 else uppic.append(cumdir+tname[i]); mydir[i]=targetDirectory+"//"+tname[i];//带文件名的绝对路径 File target = new File(targetDirectory,tname[i]); try { FileUtils.copyFile(upload[i], target); } catch (IOException e) { e.printStackTrace(); } } } return uppic.toString(); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } } 公共方法PublicMethod package com.teaweb.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DateFormat; import java.text.Format; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Properties; import java.util.Random; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; public class PublicMethod { /** * 上传文件重命名 * @param fileName * @return */ public String generateFileName(String fileName) { DateFormat format = new SimpleDateFormat("yyMMddHHmmss"); String formatDate = format.format(new Date()); int random = new Random().nextInt(10000); int position = fileName.lastIndexOf("."); String extension = fileName.substring(position); return formatDate + random + extension; } /** * 创建图片目录 * @param dir * @param req * @return */ public String genDir(String dir,HttpServletRequest req){ Calendar cal = Calendar.getInstance(); StringBuffer buffer = new StringBuffer(""); buffer.append(dir).append("/") .append(cal.get(Calendar.YEAR)) .append("/") .append(cal.get(Calendar.MONTH)) .append("/") .append(cal.get(Calendar.DATE)) .append("/"); File file = new File(req.getRealPath(buffer.toString())); if(!file.exists()){ file.mkdirs(); } return buffer.toString(); } /** * 创建Html存放目录 * @param dir * @param req * @return */ public String genHtmlDir(String dir){ String realpath = ServletActionContext.getRequest().getRealPath(dir); StringBuffer dbpath = new StringBuffer(""); Calendar cal = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("MMdd"); StringBuffer buffer = new StringBuffer(""); buffer.append(realpath).append("/").append(cal.get(Calendar.YEAR)); File file = new File(buffer.toString()); if(!file.exists()){ file.mkdirs(); } return dbpath.append(dir).append("/").append(cal.get(Calendar.YEAR)).toString(); } /** * 生成指定目录 * @param dir */ public void genDir(String dir){ File file = new File(ServletActionContext.getRequest().getRealPath(dir)); if(!file.exists()){ file.mkdirs(); } } /** * 返回根目录 * @param dir * @return */ public String rootDir(String dir){ return dir;//ServletActionContext.getRequest().getRealPath(dir); } /** * 读取properties目录下的属性文件 */ public static Properties readProperFile(String filename){ Properties prop = new Properties(); try { prop.load(new FileInputStream(ServletActionContext.getRequest().getRealPath("/xmldata/")+filename)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return prop; } /** * 对日期增加n天的方法 */ public static Date addDate(Date date,int datenum){ Calendar calen = Calendar.getInstance(); calen.setTime(date); calen.add(Calendar.DATE, datenum); return calen.getTime(); } /** * 获得时间的问候语! * @return */ public static String getTimeRegard(){ Calendar calen = Calendar.getInstance(); int house = calen.get(Calendar.HOUR_OF_DAY); if(house>=6&&house<=12) return "上午好!"; else if(house>12&&house<=19) return "下午好!"; else return "晚上好!请注意休息!"; } }