From df91d64c7ed78205084828ff5bf018d876970b46 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期五, 13 三月 2026 10:08:06 +0800
Subject: [PATCH] Merge branch 'dev' of http://nonxin.cn:8090/r/product/product-server-file/V2.0.0 into dev

---
 src/main/java/com/product/file/service/FileManagerService.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/product/file/service/FileManagerService.java b/src/main/java/com/product/file/service/FileManagerService.java
index 373343b..b88053c 100644
--- a/src/main/java/com/product/file/service/FileManagerService.java
+++ b/src/main/java/com/product/file/service/FileManagerService.java
@@ -266,6 +266,11 @@
 			return false;
 		}
 
+        // 瀛樻斁鍦ㄦ暟鎹簱涓殑鏂囦欢锛岀洿鎺ュ垽瀹氭槸鍚︽湁鍊�
+        if (attachmentFse.getValue(CmnConst.FILE_CONTENT) != null) {
+            return true;
+        }
+
 		//鍒ゆ柇鏂囦欢瀛樻斁鍦ㄦ湇鍔″櫒杩樻槸鏈湴
 		boolean needDownloadFromServerFlag = "1".equals(attachmentFse.getString(CmnConst.UPLOAD_SIGN));
 		String dir = attachmentFse.getString(CmnConst.ATTACHMENT_URL);
@@ -886,6 +891,7 @@
                     if (saveInDb) {
                         File localFile = new File(Global.getSystemConfig("local.dir", "") + File.separator + attachmentFse.getString(CmnConst.ATTACHMENT_URL) + File.separator + fileName);
                         if (!localFile.exists()) {
+                            localFile.getParentFile().mkdirs();
                             Files.copy(is, localFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
                         }
                     }
@@ -1244,4 +1250,28 @@
 		return flag;
 	}
 
+    /**
+     * 楠岃瘉鏄惁鍙互棰勮
+     * @param fse
+     * @return
+     */
+    public Object checkPreview(FieldSetEntity fse) {
+        String fileName = fse.getString("file_name");
+        boolean allowPreviewFlag = Global.getPropertyToBoolean("file.view.online", "true");
+        List<String> canTransferFormatList = Lists.newArrayList(Arrays.asList(Global.getSystemConfig("can.transfer.format", "").split(",")));
+        List<String> canDirectPreviewList = Lists.newArrayList(Arrays.asList(Global.getSystemConfig("can.direct.view.online.format", "").split(",")));
+        List<String> canPreviewList = Lists.newArrayList();
+        canPreviewList.addAll(canTransferFormatList);
+        canPreviewList.addAll(canDirectPreviewList);
+        if (StringUtils.isEmpty(fileName)) {
+            if (allowPreviewFlag) {
+                return BaseUtil.collection2String(canPreviewList);
+            } else {
+                return "";
+            }
+        } else {
+            String tail = fileName.substring(fileName.lastIndexOf(".") + 1);
+            return allowPreviewFlag && canPreviewList.contains(tail);
+        }
+    }
 }

--
Gitblit v1.9.2