From 8bebd7becead5b3d8cdbaa25b891645ea4faf7ce Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 28 十一月 2022 14:23:22 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/data/DownloadService.java | 42 ++++++++++++++++++++++++++++++++---------- 1 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/lf/server/service/data/DownloadService.java b/src/main/java/com/lf/server/service/data/DownloadService.java index 5a4741b..5fbf35f 100644 --- a/src/main/java/com/lf/server/service/data/DownloadService.java +++ b/src/main/java/com/lf/server/service/data/DownloadService.java @@ -7,6 +7,7 @@ import com.lf.server.helper.*; import com.lf.server.mapper.data.DownloadMapper; import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.FileHeader; import net.lingala.zip4j.model.ZipParameters; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -160,7 +161,7 @@ * @param pwd 瀵嗙爜 * @return 涓嬭浇鏂囦欢GUID */ - public String zipFiles(UserEntity ue, List<MetaFileEntity> list, String pwd) { + public String zipFiles(UserEntity ue, List<MetaFileEntity> list, String pwd) throws Exception { rmRepeatMetaFiles(list); String downloadPath = pathHelper.getDownloadFullPath(); @@ -169,8 +170,9 @@ ZipFile zip = Zip4jHelper.createZipFile(zipFile, pwd); ZipParameters params = Zip4jHelper.getZipParams(); - addMetaFiles(zip, params, list); + + DownloadEntity downloadEntity = getDownloadEntity(ue, zipFile, pwd); return null; } @@ -200,18 +202,38 @@ private void addMetaFiles(ZipFile zip, ZipParameters params, List<MetaFileEntity> list) { String uploadPath = pathHelper.getConfig().getUploadPath(); for (MetaFileEntity entity : list) { - String filePath = uploadPath + File.separator + entity.getPath(); - File file = new File(filePath); - File newFile = new File(filePath.replace(entity.getGuid(), entity.getName())); - try { - file.renameTo(newFile); - zip.addFile(newFile, params); + File file = new File(uploadPath + File.separator + entity.getPath()); + zip.addFile(file, params); + + FileHeader header = zip.getFileHeader(entity.getGuid()); + if (null != header) { + zip.renameFile(header, entity.getName()); + } } catch (Exception ex) { log.error(ex.getMessage(), ex); - } finally { - newFile.renameTo(file); } } } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) throws Exception { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹� + de.setType(3); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + // de.setPwd(null) + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("鍏冩暟鎹枃浠�"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } } -- Gitblit v1.9.3