您的位置:首页 > 编程语言

formdata ajax上传文件前后台代码

2017-07-21 16:04 162 查看
配置文件

SpringMVC用到是MultipartFile来进行文件上传,所以我们首先要配置MultipartResolver用于处理表单中的file

<!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5400000" /> <!-- 是上传文件的大小,单位为字节 -->
<property name="defaultEncoding" value="UTF-8" /> <!-- 是请求的编码格式 -->
<!-- <property name="resolveLazily" value="true" /> -->
</bean>


上传表单代码

Controller代码

@ResponseBody
@RequestMapping("/importNew")
public JSONObject importDataNew(@RequestParam(value = "file", required=false) MultipartFile file,
@RequestParam(value="rosterType", required=false, defaultValue="") String rosterType,
@RequestParam(value="scenceId", required=false, defaultValue="") String scenceId,
HttpServletRequest request,
HttpServletResponse response) { //rosterType和scenceId是表单提交的数据 因为文件上传带有其他参数 名字要与表单里的名字一样
response.setHeader("Access-Control-Allow-Origin", "*"); //?处理ajax跨域问题 或 ?处理返回前台JSON格式数据问题
JSONObject result = new JSONObject();
if (file.isEmpty()) {
result.put("success", false);
result.put("msg", "未获取到文件");
return result;
}
String fileName = file.getOriginalFilename(); //获取文件名
if (fileName.equals("")) {
result.put("success", false);
result.put("msg", "数据源错误");
return result;
}
try {
JSONObject info = blackWhiteRosterService.importBlackWhiteRosterNew(rosterType, scenceId, file);
result.put("resultGroup", info.getString("resultGroup"));
} catch (Exception e) {
e.printStackTrace();
result.put("success", false);
result.put("msg", "导入失败");
return result;
}
result.put("success", true);
result.put("msg", "导入成功");
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: