|
在struts中,引入org.apache.struts.upload包,对Apache Commons fileupload上传组件进行封装处理文件的上传,Formbean中定义FormFile接口来接收上传文件。
由于EasyJWeb定位于中小型项目应用,因此简化了上传的处理,直接使用Apache Commons fileupload来处理上传。由于框架核心引擎中对上传的内容已经自动进行了处理,因此,在action中,处理上传文件跟处理一般的文本字段没有什么区别!
废话不多说,直接进入正题: 1、上传表单 如开源的EasyJF BBS系统中的上传示例代码,html表单部分内容如下:
其中enctype="multipart/form-data"必须的,method="post"也必须。 这个表单是一个混合表单,有type=file的文件上传框,也有type=text或hidden的普通文本框。
2、接收单个上传文件的java代码
下面我们看看文件上传处理模块bbsUpload中的java代码.
com.easyjf.bbs.action.UploadAction.java import org.apache.commons.fileupload.FileItem;
public class UploadAction implements IWebAction { public Page execute(WebForm form, Module module) throws Exception { FileItem file=(FileItem)form.get("file");//文件对象 String intro=(String)form.get("intro");//文本对象 if(file!=null) { //得到上传文件,对上传文件进行处理,这里省略代码N行 } } }
3、接收处理多个文件上传的java代码 com.easyjf.bbs.action.UploadAction.java Iterator it = form.getFileElement().keySet().iterator(); while(it.hasNext()) { String fieldName = (String) it.next();//表单字段名 FileItem file = (FileItem) form.get(fieldName);//文件对象 if(file!=null) { //得到上传文件,对上传文件进行处理,这里省略代码N行
}
}
1
2
下一页>>
|