Ajax文件上传和后台SpringMVC获取文件
2017-10-25 00:00
381 查看
页面与js代码如下:
SpringMVC后台接收页面参数和文件
<form id="csvForm" enctype="multipart/form-data"> <input id="accountName" name="accountName" value="${accountName}" hidden> <input type="button" value="导入" id="external_button"/> <input type="file" name="file" id="file"/> </form> //JS代码 /** * 上传按钮绑定事件 */ $('#external_button').click(function () { if ($('#file').val() == "") { alertMessage("请先选择文件"); return false; } var csvPath = $('#file').val(); var fileExtendOff = csvPath.substring(csvPath.lastIndexOf('.')).toLowerCase(); if (fileExtendOff != '.csv') { alertMessage("文件格式有误,请上传csv格式"); return false; } doUpload(); return false; }); /** * 异步上传 */ function doUpload() { var formData = new FormData($("#csvForm")[0]); $.ajax({ url: contextPath + '/security/importExtReconFile.htm' , type: 'POST', data: formData, async: false, cache: false, contentType: false, processData: false, success: function (data) { if (data.code == '200') { alertMessage(data.content); window.location.reload(); } else { alertMessage(data.content); } } }); }
SpringMVC后台接收页面参数和文件
@ResponseBody @RequestMapping(method = RequestMethod.POST, value = "/security/importExtReconFile") public MessageBean importExtReconFile(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException { MessageBean messBean = new MessageBean(MessageCode.COMMON_SUCCESS); //获取页面参数 String accountName = request.getParameter("accountName"); //获取文件名 String filename = file.getOriginalFilename(); AccountPeriodPo accountPeriodPo = new AccountPeriodPo(); InputStream fis = null; try { //获取上传文件的输入流 fis = file.getInputStream(); //1.检查对账文件数据的格式CSV MessageBean result = checkCSVFile(fis); if (!MessageCode.COMMON_SUCCESS.equals(result.getCode())) { logger.error("csv数据格式不正确"); messBean.setCode(MessageCode.SYSTEM_ERROR); messBean.setContent(result.getContent()); return messBean; } //2.存储到指定位置 if (FtpUtil.uploadFile(ftpHost, ftpUsername, ftpPassword, ftpPort, ftpDir, filename, fis)) { logger.info("FTP上传文件成功"); } else { logger.error("FTP文件上传失败 !!!"); messBean.setCode(MessageCode.SYSTEM_ERROR); messBean.setContent("FTP文件上传失败"); return messBean; } } catch (IOException e) { logger.error("文件导入失败", e); messBean.setCode(MessageCode.SYSTEM_ERROR); messBean.setContent("文件导入失败"); return messBean; } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { logger.error("流关闭异常", e); } } } messBean.setContent("导入成功 !"); return messBean; }
相关文章推荐
- ajax文件异步上传文件,后台request获取上传的文件流
- ajax上传文件后台获取不到问题
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- 关于input设置成file类型上传文件后台获取不到
- Springmvc后台校验加文件上传(完整版)
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- js 使用ajax进行文件上传并获取上传进度案例
- SpringMVC案例3----spring3.0项目拦截器、ajax、文件上传应用
- springMVC的文件上传和基于ajax的文件上传(学习记录)
- SpringMVC Shiro 上传文件时,获取的是ShiroHttpServletRequest,如何转换成MultipartHttpServletRequest
- 微信小程序常见问题->上传文件后如何在后台(php)获取文件名解决方法
- webuploader文件分片上传与springmvc后台合并
- Egg.js 中 AJax 上传文件获取参数的方法
- springmvc上传头像 ajax上传文件回显
- SpringMVC配置,简单实例,文件上传与下载,ajax请求
- ajax 获取当前 html输入 已经返回后台php处理文件
- ajax上传文件struts2后台接收处理
- Springmvc与Mongo GridFs 实现文件的上传和获取
- springMVC 获取本地项目路径 及后整理上传文件的方法
- 微信小程序常见问题->上传文件后如何在后台(php)获取文件名解决方法