ajax无刷新的文件上传

来源:互联网 发布:许三观卖血记 知乎 编辑:程序博客网 时间:2024/05/21 09:39

html文件上传的标签

    <form id="imageUploadForm" method="post"  enctype="multipart/form-data" action="">    <input id="imageUploadInput" name="fileUpload" type="file"/><br/>    </form>



提交事件发起的ajax请求

$.ajax({    url: '${pageContext.request.contextPath}/systemSetting/imageUpload2.do',    type: 'POST',    cache: false,    data: new FormData($('#imageUploadForm')[0]),    processData: false,    contentType: false,    async: false}).done(function(res) {}).fail(function(res) {}); 


Controller层接收的方法

/** * 图片上传 * @param request * @throws ServletException * @throws IOException */@RequestMapping(value="/imageUpload2")      public void uploading(@RequestParam(name="fileUpload") MultipartFile  multipartFile, String userName, OutputStream os){String filePath = "E:\\MyEclipse2\\Workspaces\\.metadata\\.me_tcat\\webapps\\s\\resource\\images";//获取上传的文件名          String fileName=multipartFile.getOriginalFilename();          //上传文件的存储路径          String file=filePath+"/"+fileName;          //调用这个方法直接上传          try {multipartFile.transferTo(new File(file));os.write("1".getBytes());} catch (Exception e) {e.printStackTrace();}            }  


spring.xml

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    <property name="maxInMemorySize">        <value>1638400</value>    </property></bean>


server.xml   解决文件上传的出现的乱码问题

    <Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443"  useBodyEncodingForURI="true" URIEncoding="UTF-8"/>