1.文件上传CommonsMultipartResolver的一些配置
<!-- 注意:CommonsMultipartResolver的id是固定不变的,一定是multipartResolver,不可修改 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 如果上传后出现文件名中文乱码可以使用该属性解决 --> <property name="defaultEncoding" value="utf-8"/> <!-- 单位是字节,不设置默认不限制总的上传文件大小,这里设置总的上传文件大小不超过1M(1*1024*1024) --> <property name="maxUploadSize" value="104857600"/> <!-- 跟maxUploadSize差不多,不过maxUploadSizePerFile是限制每个上传文件的大小,而maxUploadSize是限制总的上传文件大小 --> <property name="maxUploadSizePerFile" value="10485760"/> </bean>
2.文件上传方法
@ResponseBody @RequestMapping(value = "file", method = RequestMethod.POST) public Result uploadFileList(HttpServletRequest request,@RequestParam(value = "file", required = true) MultipartFile file) throws IOException { if(file==null || (file!=null && StringUtil.isEmpty(file.getOriginalFilename()))){ //返回参数错误 return new Result(ResultEnum.PARAM_ERROR); } String path = "/data/file/dmp/"; try { File targetFile = new File(path, file.getOriginalFilename()); //判断文件夹是否已经存在,如果已经存在了重新建 if (!targetFile.exists()) { targetFile.mkdirs(); } //转存文件 file.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); log.error("保存文件失败"); return new Result(ResultEnum.FAILED); } return new Result(); }