Struts 2 文件上传
FileUploadAction
public class FileUploadAction extends ActionSupport { private static final long serialVersionUID = 572146812454l ; private static final int BUFFER_SIZE = 16 * 1024 * 1024; private File myFile; private String contentType; private String fileName; private String imageFileName; private String caption; public void setMyFileContentType(String contentType) { this .contentType = contentType; } public void setMyFileFileName(String fileName) { this .fileName = fileName; } public void setMyFile(File myFile) { this .myFile = myFile; } public String getImageFileName() { return imageFileName; } public String getCaption() { return caption; } public void setCaption(String caption) { this .caption = caption; } private static void copy(File src, File dst) { try { InputStream in = null ; OutputStream out = null ; try { in = new BufferedInputStream( new FileInputStream(src), BUFFER_SIZE); out = new BufferedOutputStream( new FileOutputStream(dst), BUFFER_SIZE); byte [] buffer = new byte [BUFFER_SIZE]; while (in.read(buffer) > 0 ) { out.write(buffer); } } finally { if ( null != in) { in.close(); } if ( null != out) { out.close(); } } } catch (Exception e) { e.printStackTrace(); } } private static String getExtention(String fileName) { int pos = fileName.lastIndexOf( "." ); return fileName.substring(pos); } @Override public String execute() { if(fileName != null){ imageFileName = new Date().getTime() + getExtention(fileName); System.out.println(getExtention(fileName)+"==="+new Date()); File imageFile = new File(ServletActionContext.getServletContext().getRealPath( "/upload" ) + "/" + imageFileName); copy(myFile, imageFile); return SUCCESS; } return INPUT; } }
<constant name="struts.custom.i18n.resources" value="message"></constant> <constant name="struts.i18n.encoding" value="GBK"/>
<action name="fileUpload" >ShowUpload.jsp </result > </action>
#xwork.default.invalid.fieldvalue={0} errorstruts.messages.error.content.type.not.allowed=\u4e0a\u4f20\u6587\u4ef6\u7c7b\u578b\u4e0d\u5141\u8bb8\uff0c\u8bf7\u91cd\u8bd5\uff01struts.messages.error.file.too.large=\u4e0a\u4f20\u6587\u4ef6\u8fc7\u5927\uff0c\u8bf7\u91cd\u8bd5\uff01