ソースを参照

* tif图片预览,根据反馈的意见,已经全部修改

zhangzhen1979 3 年 前
コミット
d424de5e9a

+ 1 - 1
server/src/main/config/application.properties

@@ -107,5 +107,5 @@ watermark.height = ${WATERMARK_HEIGHT:80}
 watermark.angle = ${WATERMARK_ANGLE:10}
 
 #Tif类型图片浏览模式:tif(利用前端js插件浏览);jpg(转换为jpg后前端显示);pdf(转换为pdf后显示,便于打印)
-tif.preview.type = ${KK_TIF_PREVIEW_TYPE:pdf}
+tif.preview.type = ${KK_TIF_PREVIEW_TYPE:tif}
 

+ 19 - 0
server/src/main/java/cn/keking/model/FileAttribute.java

@@ -14,6 +14,7 @@ public class FileAttribute {
     private String url;
     private String fileKey;
     private String officePreviewType = ConfigConstants.getOfficePreviewType();
+    private String previewType;
 
     public FileAttribute() {
     }
@@ -33,6 +34,15 @@ public class FileAttribute {
         this.officePreviewType = officePreviewType;
     }
 
+    public FileAttribute(FileType type, String suffix, String name, String url, String officePreviewType, String previewType) {
+        this.type = type;
+        this.suffix = suffix;
+        this.name = name;
+        this.url = url;
+        this.officePreviewType = officePreviewType;
+        this.previewType = previewType;
+    }
+
     public String getFileKey() {
         return fileKey;
     }
@@ -80,4 +90,13 @@ public class FileAttribute {
     public void setUrl(String url) {
         this.url = url;
     }
+
+    public String getPreviewType() {
+        return previewType;
+    }
+
+    public void setPreviewType(String previewType) {
+        this.previewType = previewType;
+    }
+
 }

+ 5 - 0
server/src/main/java/cn/keking/service/FileHandlerService.java

@@ -284,6 +284,11 @@ public class FileHandlerService {
             if (StringUtils.hasText(fileKey)) {
                 attribute.setFileKey(fileKey);
             }
+
+            String previewType = req.getParameter("previewType");
+            if (StringUtils.hasText(previewType)) {
+                attribute.setPreviewType(previewType);
+            }
         }
         return attribute;
     }

+ 5 - 3
server/src/main/java/cn/keking/service/impl/TiffFilePreviewImpl.java

@@ -39,9 +39,11 @@ public class TiffFilePreviewImpl implements FilePreview {
 
     @Override
     public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
-
         String tifPreviewType = ConfigConstants.getTifPreviewType();
-        String priveiwType = String.valueOf(model.getAttribute("previewType"));
+        String previewType = fileAttribute.getPreviewType();
+        if (StringUtils.hasText(previewType)) {
+            tifPreviewType = previewType;
+        }
 
         if("tif".equalsIgnoreCase(tifPreviewType)){
 
@@ -77,7 +79,7 @@ public class TiffFilePreviewImpl implements FilePreview {
                 }
 
                 String baseUrl = BaseUrlFilter.getBaseUrl();
-                if("pdf".equalsIgnoreCase(tifPreviewType) && !"image".equalsIgnoreCase(priveiwType)){
+                if("pdf".equalsIgnoreCase(tifPreviewType)){
                     File filePdf = ConvertPicUtil.convertJpg2Pdf(fileDir + uuid + ".jpg", fileDir + uuid + ".pdf");
                     if(filePdf.exists()){
                         String pdfUrl = baseUrl + uuid + ".pdf";

+ 0 - 4
server/src/main/java/cn/keking/web/controller/OnlinePreviewController.java

@@ -70,10 +70,6 @@ public class OnlinePreviewController {
         }
         FileAttribute fileAttribute = fileHandlerService.getFileAttribute(fileUrl, req);
         model.addAttribute("file", fileAttribute);
-
-        String previewType = req.getParameter("previewType");
-        model.addAttribute("previewType", previewType);
-
         FilePreview filePreview = previewFactory.get(fileAttribute);
         logger.info("预览文件url:{},previewType:{}", fileUrl, fileAttribute.getType());
         return filePreview.filePreviewHandle(fileUrl, model, fileAttribute);

+ 1 - 3
server/src/main/resources/web/pdf.ftl

@@ -37,14 +37,12 @@
     }
 
     function goForImage() {
-        var url = window.location.href + "&previewType=image"
-        console.log(url);
+        var url = window.location.href + "&previewType=jpg"
         if (url.indexOf("officePreviewType=pdf") != -1) {
             url = url.replace("officePreviewType=pdf", "officePreviewType=image");
         } else {
             url = url + "&officePreviewType=image";
         }
-        console.log(url);
         window.location.href = url;
     }