From 6d935760458892927a550e5483e6ed55a46fc9fe Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 03 二月 2023 14:04:34 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/data/UploadService.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 56 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/lf/server/service/data/UploadService.java b/src/main/java/com/lf/server/service/data/UploadService.java index 49710c1..f9c9a34 100644 --- a/src/main/java/com/lf/server/service/data/UploadService.java +++ b/src/main/java/com/lf/server/service/data/UploadService.java @@ -62,6 +62,7 @@ excelLoader(list, req); loadData(list); copyFiles(list); + publishFiles(list); insertMetas(list); } @@ -368,7 +369,6 @@ */ private void copyMultiFile(MetaFileEntity mf, List<String> extList) { String path = mf.getPath(); - int status = copySingleFile(mf); if (status < 1) { for (int i = 0, c = extList.size(); i < c; i++) { @@ -454,6 +454,61 @@ } /** + * 鍙戝竷鏂囦欢 + */ + private void publishFiles(List<MetaFileEntity> list) { + for (MetaFileEntity mf : list) { + if (null != mf.getMsg()) { + continue; + } + switch (mf.getExtName()) { + case StaticData.MPT: + linkFiles(mf, StaticData.MPT_EXT, pathHelper.getConfig().getPublishMptPath()); + break; + case StaticData.D3DML: + linkFiles(mf, null, pathHelper.getConfig().getPublish3dmlPath()); + break; + default: + break; + } + } + } + + /** + * 閾炬帴鏂囦欢 + */ + private void linkFiles(MetaFileEntity mf, List<String> exts, String publishPath) { + String uploadPath = pathHelper.getConfig().getUploadPath(); + String source = uploadPath + File.separator + mf.getPath(); + String target = publishPath + File.separator + mf.getName(); + + File sourceFile = new File(source); + if (!sourceFile.exists() || sourceFile.isDirectory()) { + return; + } + + createFileLink(source, target); + if (null == exts) { + return; + } + + for (String ext : exts) { + File f=new File(source.replace(mf.getExtName(), ext)); + if (f.exists()&&!f.isDirectory()) { + createFileLink(source.replace(mf.getExtName(), ext), target.replace(mf.getExtName(), ext)); + } + } + } + + /** + * 鍒涘缓鏂囦欢閾炬帴 + */ + private void createFileLink(String source, String target) { + String cmd = String.format("cmd /c mklink \"%s\" \"%s\"", target, source); + WebHelper.exec(cmd); + } + + /** * 鎻掑叆鍏冩暟鎹� */ private void insertMetas(List<MetaFileEntity> list) { -- Gitblit v1.9.3