diff --git a/server/src/main/config/application.properties b/server/src/main/config/application.properties index cffbc9d3..c93cd217 100644 --- a/server/src/main/config/application.properties +++ b/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} diff --git a/server/src/main/java/cn/keking/model/FileAttribute.java b/server/src/main/java/cn/keking/model/FileAttribute.java index 470208d9..7cb4d9f1 100644 --- a/server/src/main/java/cn/keking/model/FileAttribute.java +++ b/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; + } + } diff --git a/server/src/main/java/cn/keking/service/FileHandlerService.java b/server/src/main/java/cn/keking/service/FileHandlerService.java index b0901301..c9a94319 100644 --- a/server/src/main/java/cn/keking/service/FileHandlerService.java +++ b/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; } diff --git a/server/src/main/java/cn/keking/service/impl/TiffFilePreviewImpl.java b/server/src/main/java/cn/keking/service/impl/TiffFilePreviewImpl.java index 377b105a..87adb10d 100644 --- a/server/src/main/java/cn/keking/service/impl/TiffFilePreviewImpl.java +++ b/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"; diff --git a/server/src/main/java/cn/keking/web/controller/OnlinePreviewController.java b/server/src/main/java/cn/keking/web/controller/OnlinePreviewController.java index 22af00ec..42804746 100644 --- a/server/src/main/java/cn/keking/web/controller/OnlinePreviewController.java +++ b/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); diff --git a/server/src/main/resources/web/pdf.ftl b/server/src/main/resources/web/pdf.ftl index 5e6c8501..1d65159c 100644 --- a/server/src/main/resources/web/pdf.ftl +++ b/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; }