使用Rone框架开发附件上传功能
2012-07-19 17:56
316 查看
在JavaWeb开发中经常会遇到附件上传的功能,我主要讲一下使用中软Rone框架开发附件上传功能的步骤和一些细节问题。
1、jsp页面的主要代码
其中form元素中的 enctype="multipart/form-data"是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。
2、controller主要代码
这个是对应Java model中的字段属性定义,对于附件字段应该定义为InputStream类型。
最后是controller层的保存方法。至此,附件上传功能的全部代码编写完毕。
1、jsp页面的主要代码
<form id="emPerfProgramCuForm" action="<c:url value='/emPerfProgram/saveAttach'/>" method="post" enctype="multipart/form-data"> <table id="attachUpload" class="tableTab" style="width:97%;"> <caption class="ui-corner-top">上传文件</caption> <tr> <td class="inputLabelTd" align="right">上传方案</td> <td class="inputTd" colspan="2"><input id="eppaAttach" name="eppaAttach" type="file" value="<c:out value='${emPerfProgramAttach.eppaAttach}'/>"/></td> </tr> <tfoot> <tr> <td colspan="2" class="footTd"> <button type="submit"><fmt:message key='button.save'/></button> <button type="button" onclick="window.location = '<c:url value='/emPerfProgram'/>'"><fmt:message key='button.back'/></button> </td> </tr> </tfoot> </table> </form>
其中form元素中的 enctype="multipart/form-data"是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。
2、controller主要代码
private InputStream eppaAttach;
这个是对应Java model中的字段属性定义,对于附件字段应该定义为InputStream类型。
/** * <p>save emPerfProgramAttach</p> * * @param emPerfProgramAttach */ public void saveAttach(EmPerfProgramAttach emPerfProgramAttach){ String userName = ""; String curPersonUuid = ""; try { Context con = Context.getInstance(); EntityManager entityManager = EntityManager.getInstance(); curPersonUuid = con.getCurrentPersonUuid(); //根据用户UUID获取用户名称 userName = entityManager.findPersonByUuid(curPersonUuid).getFullName(); } catch (EntityException e) { // TODO Auto-generated catch block e.printStackTrace(); } //附件表内容保存 if(emPerfProgramAttach != null){ //新增时保存附件 if(StringUtils.isNotEmpty(eppId_1) && emPerfProgramAttach.getEppaAttach()!= null){ emPerfProgramAttach.setEppaEppId(eppId_1); //上传人 emPerfProgramAttach.setEppaCreateUser(userName); //上传时间 emPerfProgramAttach.setEppaCreateTime(new Timestamp(new Date().getTime())); emPerfProgramAttachService.save(emPerfProgramAttach); //更新时保持附件 }else if(StringUtils.isNotEmpty(eppId) && emPerfProgramAttach.getEppaAttach()!= null){ emPerfProgramAttach.setEppaEppId(eppId); //上传人 emPerfProgramAttach.setEppaCreateUser(userName); //上传时间 emPerfProgramAttach.setEppaCreateTime(new Timestamp(new Date().getTime())); emPerfProgramAttachService.save(emPerfProgramAttach); } this.success("upload.success"); redirect(SUCCESS); } }
最后是controller层的保存方法。至此,附件上传功能的全部代码编写完毕。
相关文章推荐
- 在开发框架中使用FTP辅助类上传或者下载文件,方便管理附件内容
- 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
- 基于MVC4+EasyUI的Web开发框架之附件上传组件uploadify的使用
- 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用 - 伍华聪
- 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
- 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
- 使用sun.net.ftp.FtpClient进行上传功能开发,在jdk1.7上不适用问题的解决
- Extjs上传附件实战开发,实现批量上传及在线预览功能(三)
- ORACLE EBS中附件功能的使用(上传用户操作文档)
- IOS开发(17)IOS 使用LBXScan框架开发扫一扫功能
- Extjs上传附件实战开发,实现批量上传及在线预览功能(二)
- 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用
- Android应用开发之使用PhoneGap(cordova)实现拍照上传功能
- HTML5开发必备jquery上传附件功能
- 使用sun.net.ftp.FtpClient进行上传功能开发,在jdk1.7上不适用问题的解决
- 三步在mvc中使用KindEditor开发富文本编辑器上传图片功能
- .NET快速信息化系统开发框架 V3.2->Web版本新增“文件管理中心”集上传、下载、文件共享等一身,非常实用的功能
- android 附件(图片)上传下载功能开发
- Ueditor 编译发布后无法使用上传图片、附件等功能