| | |
| | | } |
| | | |
| | | /** |
| | | * @param multipartFile 被追加的附件,zip内只能的附件都必须是文件 |
| | | * @param multipartFileList 被追加的附件,zip集合 |
| | | * @param material |
| | | * @return 返回被追加文件的文件夹路径 |
| | | */ |
| | | @Transactional |
| | | public Response addAttachment(MultipartFile multipartFile, Material material) throws IOException { |
| | | public Response addAttachment(List<MultipartFile> multipartFileList, Material material) throws IOException { |
| | | List<String> currentFileList = new LinkedList<>(); |
| | | List<String> uploadingFileList = new LinkedList<>(); |
| | | |
| | |
| | | String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + material.getSubModel(); |
| | | File dirFile = new File(dirPath); |
| | | |
| | | String originalFilename = multipartFile.getOriginalFilename(); |
| | | Date now = new Date(); |
| | | long timestamp = now.getTime(); |
| | | //long timestamp = now.getTime(); |
| | | String formattedTimestamp = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(now); |
| | | |
| | | //压缩包文件夹校验 |
| | | File zipFile = new File(dirPath + File.separator + originalFilename); |
| | | boolean dirFileExist = true; |
| | | if(!dirFile.exists()){ |
| | | dirFile.mkdirs(); |
| | | dirFileExist = false; |
| | | } |
| | | multipartFile.transferTo(zipFile); |
| | | //解压文件夹,删除原zip文件 |
| | | for (int i = 0; i < multipartFileList.size(); i++) { |
| | | MultipartFile multipartFile = multipartFileList.get(i); |
| | | String originalFilename = multipartFile.getOriginalFilename(); |
| | | File zipFile = new File(dirPath + File.separator + originalFilename.substring(0,originalFilename.lastIndexOf(".")) + "_" + formattedTimestamp + originalFilename.substring(originalFilename.lastIndexOf("."))); |
| | | multipartFile.transferTo(zipFile); |
| | | } |
| | | /*//解压文件夹,删除原zip文件 |
| | | String unPackageDir = dirPath + File.separator + timestamp; |
| | | Zip4jUtil.unPackZip(zipFile, null, unPackageDir); |
| | | File unPackageFile = new File(unPackageDir); |
| | |
| | | } |
| | | return new Response().set(1,false,"拒绝上传:上传的压缩包存在文件夹"); |
| | | } |
| | | } |
| | | }*/ |
| | | |
| | | if(!dirFileExist){ |
| | | //路径不存在,说明是首次上传,设置物料对应的fileUrl |
| | |
| | | temp.setId(material.getId()); |
| | | temp.setFileUrl(dirPathDB); |
| | | mapper.updateById(temp); |
| | | }else{ |
| | | }/*else{ |
| | | //查询路径下现有的所有文件 |
| | | String[] fileArr = dirFile.list(); |
| | | currentFileList = Arrays.asList(fileArr); |
| | | } |
| | | }*/ |
| | | |
| | | //查询新上传的文件路径 |
| | | /*//查询新上传的文件路径 |
| | | String[] unPackageFileArr = unPackageFile.list(); |
| | | uploadingFileList = Arrays.asList(unPackageFileArr); |
| | | for (String uploadingFile : uploadingFileList){ |
| | |
| | | } |
| | | //上传的文件夹转移到正式路径 |
| | | org.aspectj.util.FileUtil.copyDir(unPackageFile,dirFile); |
| | | FileUtil.deleteFile(unPackageFile); |
| | | FileUtil.deleteFile(unPackageFile);*/ |
| | | |
| | | return new Response().set(1,true,"上传完成"); |
| | | } |