From 12441b157e38abdfe7eeb94bb7197fcb90f00b48 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期一, 05 九月 2022 17:03:56 +0800 Subject: [PATCH] 修复问题 --- src/main/java/com/whyc/service/MaterialService.java | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/whyc/service/MaterialService.java b/src/main/java/com/whyc/service/MaterialService.java index e0b1a16..32da0d0 100644 --- a/src/main/java/com/whyc/service/MaterialService.java +++ b/src/main/java/com/whyc/service/MaterialService.java @@ -365,8 +365,8 @@ List<String> currentFileList = new LinkedList<>(); List<String> uploadingFileList = new LinkedList<>(); - //String dirPath = "doc_file" + File.separator + "material" + File.separator + material.getId() + material.getSubCode() + material.getSubModel(); - String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + material.getSubCode() + material.getSubModel(); + String dirPathDB = "doc_file" + File.separator + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + material.getSubModel(); + String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + material.getSubModel(); File dirFile = new File(dirPath); String originalFilename = multipartFile.getOriginalFilename(); @@ -376,27 +376,34 @@ //鍘嬬缉鍖呮枃浠跺す鏍¢獙 File zipFile = new File(dirPath + File.separator + originalFilename); + boolean dirFileExist = true; + if(!dirFile.exists()){ + dirFile.mkdirs(); + dirFileExist = false; + } multipartFile.transferTo(zipFile); //瑙e帇鏂囦欢澶�,鍒犻櫎鍘焭ip鏂囦欢 String unPackageDir = dirPath + File.separator + timestamp; Zip4jUtil.unPackZip(zipFile, null, unPackageDir); File unPackageFile = new File(unPackageDir); File[] unPackageFileList = unPackageFile.listFiles(); + zipFile.delete(); for (int i = 0; i < unPackageFileList.length; i++) { File tempFile = unPackageFileList[i]; if(tempFile.isDirectory()){ FileUtil.deleteFile(unPackageFile); + if(!dirFileExist){ + FileUtil.deleteFile(dirFile); + } return new Response().set(1,false,"鎷掔粷涓婁紶:涓婁紶鐨勫帇缂╁寘瀛樺湪鏂囦欢澶�"); } } - zipFile.delete(); - if(!dirFile.exists()){ - dirFile.mkdirs(); + if(!dirFileExist){ //璺緞涓嶅瓨鍦�,璇存槑鏄娆′笂浼�,璁剧疆鐗╂枡瀵瑰簲鐨刦ileUrl Material temp = new Material(); temp.setId(material.getId()); - temp.setFileUrl(dirPath); + temp.setFileUrl(dirPathDB); mapper.updateById(temp); }else{ //鏌ヨ璺緞涓嬬幇鏈夌殑鎵�鏈夋枃浠� @@ -410,11 +417,12 @@ for (String uploadingFile : uploadingFileList){ if(currentFileList.contains(uploadingFile)){ new File(unPackageDir + File.separator + uploadingFile) - .renameTo(new File(unPackageDir + File.separator + formattedTimestamp + uploadingFile)); + .renameTo(new File(unPackageDir + File.separator + uploadingFile.substring(0,uploadingFile.lastIndexOf(".")) + "_" + formattedTimestamp + uploadingFile.substring(uploadingFile.lastIndexOf(".")))); } } //涓婁紶鐨勬枃浠跺す杞Щ鍒版寮忚矾寰� org.aspectj.util.FileUtil.copyDir(unPackageFile,dirFile); + FileUtil.deleteFile(unPackageFile); return new Response().set(1,true,"涓婁紶瀹屾垚"); } -- Gitblit v1.9.1