PS:为了方便不同水平的开发人员阅读,我把代码全部写到Controller里面。这个demo的file入参的类型是MultipartFile,很多网上的例子是File类型。这两个类型在解析文件的时候还是有点区别的。 第①个方法: [url=][/url]
1 /** 2 * 这个deomo入参的类型是MultipartFile,很多网上的例子是File类型 3 * @param file (zip) 4 * @param request 5 * @param response 6 * @return 7 * @throws Exception 8 */ 9 @PostMapping("/addPersonsFileOfZip")10 public String addPersonsFileOfZip(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {11 String createdId = request.getParameter(KEY_CREATED_ID);12 //正常上这里需要检查一下createdId是否为空13 14 //原则上这个uploadZipFilesAndParse方法需要写到service和serviceImpl中15 String result =uploadZipFilesAndParse(file,createdId);16 return result;17 }[url=][/url]
第②个方法: View Code
第③个方法:解压zip文件的unzip方法 View Code
第④个方法:unzip方法中的inputStreamToFile方法,这个方法的目的是把MultipartFile转成File类型,但是会在项目根目录下生成一个临时文件,切记要删除 View Code
第⑤个方法:parseExcelFile方法是解析excel的方法,里面包括我自己项目的逻辑处理,大家可以删除这些代码,只保留解析excel的代码就好 View Code
第⑥个方法:parseImageFile方法是解析图片的方法 View Code
最后附上FileConfig和FileUtil的代码 FileConfig代码: View Code
FileConfig类里面读取的配置文件信息: 配置文件类型是yml,大家也可以自己改成properties文件格式 upload: #localtion: ${UPLOAD_DIR:/home/data/test} localtion: ${UPLOAD_DIR:D:/test} maxFileSize: 10240KB maxRequestSize: 102400KB
FileUtil类的代码: View Code
水平有限,可能写得不是很完整,大家copy这些代码的时候有可能因为引入包的不同,不一定走得成功,如有疑问,在评论区联系本人,写得不好的地方也欢迎指正。
|