基于Spring+AJAX的上传文件功能的实现

来源:互联网 发布:中国软件增发价 编辑:程序博客网 时间:2024/06/05 23:40

博主小白,贴出一些成功的代码,作为记录,不喜勿喷。

没做过调查和测试,但以下代码在Spring3.X及以后的版本里都是能用的吧。

代码如下:

1. 表单,仅实现功能,需要改样式则自行百度:

<form action="<%=mapPath%>/readIn" id="uploadForm" enctype="multipart/form-data"><input type="file" value="选择文件" id="file" name="file"><input type="button" onClick="uploadFile()" value="上传"></form>


2. 然后是JS,使用AJAX异步上传文件:

function uploadFile(){var file = document.getElementById("file").value;if(file==null || file==""){alert("请选择文件!");return ;}var formData = new FormData($("#uploadForm")[0]);$.ajax({url:'<%=path%>/sysMgr/readIn',type:'POST',data: formData,  async: false,  cache: false,  contentType: false,  processData: false,success:function(resultdata){if(resultdata){$.messager.alert('操作成功','上传文件成功!','info',function(){});//基于easyui的消息窗口 }else{   $.messager.alert('操作失败','上传文件失败!','error',function(){}); } }});}


3. 后台Java代码,接收文件:

@RequestMapping("readIn")@ResponseBodypublic boolean readIn(MultipartFile file, HttpServletRequest request) { // 请求参数一定要与form中的参数名对应if (!file.isEmpty()) {System.out.println(file.getSize()); //打印文件大小return true;} else {return false; // 返回失败视图}}


4.最后是Spring配置。注意,需要引入包commons-fileupload-1.3.jar,版本号可以根据项目情况调整

<!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes -->  <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">      <property name="maxUploadSize" value="10485760" />  </bean>

附:html效果是这样的。。。





0 0
原创粉丝点击