1. 控制器代码 @Autowired FileService fileServiceImpl; @RequestMapping(value = "UploadFiles", method = RequestMethod.POST) @ResponseBody public Object handleFileUpload(HttpServletRequest request) throws Exception { List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file"); MultipartFile multipartFile = null; ResponseVo response = new ResponseVo(); request.setCharacterEncoding("UTF-8"); for (int i = 0; i < files.size(); ++i) { multipartFile = files.get(i); if (!multipartFile.isEmpty()) { String uploadFilePath = multipartFile.getOriginalFilename(); System.out.println("uploadFlePath:" + uploadFilePath); String uploadFileName = uploadFilePath.substring( uploadFilePath.lastIndexOf('\\') + 1, uploadFilePath.indexOf('.')); System.out.println("multiReq.getFile()" + uploadFileName); // 截取上传文件的后缀 String uploadFileSuffix = uploadFilePath.substring( uploadFilePath.lastIndexOf('.'), uploadFilePath.length()); System.out.println("uploadFileSuffix:" + uploadFileSuffix); File file1 = File.createTempFile(uploadFileName,uploadFileSuffix); multipartFile.transferTo(file1); fileServiceImpl.uploadPic(file1); file1.delete(); //删除缓存file } else { System.out.println("上传文件为空"); } } response.setCode(Constant.SUCCESS_CODE); return response; }
2.业务层
@Autowired FileDao fileDao; @Override public String uploadPic(File file) throws Exception { return fileDao.uploadPic(file); }
3.数据层
@Resource public MongoTemplate mongoTmp; public String uploadPic(File file) throws Exception{ GridFS gridFS = new GridFS(mongoTmp.getDb(),"phone_pic"); GridFSInputFile gridFSInputFile = gridFS.createFile(file); gridFSInputFile.setFilename(file.getName()); gridFSInputFile.save(); return gridFSInputFile.getId().toString(); }
4.springboot 配置就不说了,配好数据库和文件上传的size就好