浏览 1945 次
锁定老帖子 主题:Struts 2 文件上传
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-31
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; } } struts.xml <constant name="struts.custom.i18n.resources" value="message"></constant> <constant name="struts.i18n.encoding" value="GBK"/> <action name="fileUpload" class="bill.action.FileUploadAction"> <interceptor-ref name="fileUpload"> <param name="maximumSize">10240990</param> <param name="allowedTypes">application/pdf</param> </interceptor-ref> <interceptor-ref name="defaultStack"/> <result name="input">FileUpload.jsp</result> <result name ="success" >ShowUpload.jsp </result > </action> <param name="maximumSize">10240990</param> <param name="allowedTypes">application/pdf</param> 其allowedTypes见Tomcat Home/config/web.xml可以添加你想要的类型 message.properties #xwork.default.invalid.fieldvalue={0} error struts.messages.error.content.type.not.allowed=\u4e0a\u4f20\u6587\u4ef6\u7c7b\u578b\u4e0d\u5141\u8bb8\uff0c\u8bf7\u91cd\u8bd5\uff01 struts.messages.error.file.too.large=\u4e0a\u4f20\u6587\u4ef6\u8fc7\u5927\uff0c\u8bf7\u91cd\u8bd5\uff01 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |