UploadUtil.java<br>------------------- |
/** * 上传文件,名称以日期命名 * * @author Administrator */ public class UploadUtil { /** * 上传文件 * * @param src * 源文件 * @param dst * 目标文件 * @param BUFFER_SIZE * 缓冲大小 */ public static void copy(File src, File dst, final int BUFFER_SIZE) { try { InputStream in = null ; OutputStream out = null ; try { in = new BufferedInputStream( new FileInputStream(src)); dst = rename(dst); out = new BufferedOutputStream( new FileOutputStream(dst)); int word = 0 ; while ((word = in.read()) != - 1 ) { out.write(word); } } finally { if ( null != in) { in.close(); } if ( null != out) { out.close(); } } } catch (Exception e) { e.printStackTrace(); } } /** * 得到扩展名 * @param fileName * @return */ public static String getExt(String fileName) { int pos = fileName.lastIndexOf( "." ); return fileName.substring(pos); } /** * 更改上传文件名 * @param file 文件对象 * @return 更名后的文件对象 */ public static File rename(File file) { String fileName = "" ; // 文件名 String extName = "" ; // 文件扩展名 Calendar cal = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat( "yyyyMMddHHmmss" ); fileName = formatter.format(cal.getTime()) + ( int ) (Math.random() * 10 ); extName = getExt(file.getName()); String newName = fileName + "." + extName; file = new File(file.getParent(), newName); return file; } } |
upload.jsp |
<html> <body> <s:form method= "post" action= "jupload" enctype = "multipart/form-data" > 上传图片:<s:file name = "upload" theme= "simple" /> <br/> 上传附件:<s:file name = "upload" theme= "simple" /> <br/> <s:submit theme= "simple" value= "提交" /> </s:form> </body> </html> |
struts.xml
<!-- 上传文件 cyjch --> <action name= "jupload" method= "add" class = "upAction" > <result name= "upload" >upload.jsp</result> </action> |