diff --git a/server/src/main/config/application.properties b/server/src/main/config/application.properties index e17cadaf..cffbc9d3 100644 --- a/server/src/main/config/application.properties +++ b/server/src/main/config/application.properties @@ -67,7 +67,7 @@ media.convert.disable = ${KK_MEDIA_CONVERT_DISABLE:false} #支持转换的视频类型 convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm} #office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换) -office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:pdf} +office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image} #是否关闭office预览切换开关,默认为false,可配置为true关闭 office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false} @@ -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:tif} +tif.preview.type = ${KK_TIF_PREVIEW_TYPE:pdf} diff --git a/server/src/main/java/cn/keking/config/ConfigConstants.java b/server/src/main/java/cn/keking/config/ConfigConstants.java index 83993082..0f3df26a 100644 --- a/server/src/main/java/cn/keking/config/ConfigConstants.java +++ b/server/src/main/java/cn/keking/config/ConfigConstants.java @@ -53,7 +53,7 @@ public class ConfigConstants { public static final String DEFAULT_TRUST_HOST = "default"; public static final String DEFAULT_PDF_DOWNLOAD_DISABLE = "true"; public static final String DEFAULT_FILE_UPLOAD_DISABLE = "false"; - public static final String DEFAULT_TIF_PREVIEW_TYPE = "jpg"; + public static final String DEFAULT_TIF_PREVIEW_TYPE = "tif"; public static Boolean isCacheEnabled() { return cacheEnabled; 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 018d675d..377b105a 100644 --- a/server/src/main/java/cn/keking/service/impl/TiffFilePreviewImpl.java +++ b/server/src/main/java/cn/keking/service/impl/TiffFilePreviewImpl.java @@ -41,6 +41,7 @@ public class TiffFilePreviewImpl implements FilePreview { public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) { String tifPreviewType = ConfigConstants.getTifPreviewType(); + String priveiwType = String.valueOf(model.getAttribute("previewType")); if("tif".equalsIgnoreCase(tifPreviewType)){ @@ -71,15 +72,14 @@ public class TiffFilePreviewImpl implements FilePreview { if(fileJpg.exists()){ // 转换后的tif没用了,可以删掉了 - fileTiff.delete(); + if(fileTiff.exists()){ + fileTiff.delete(); + } String baseUrl = BaseUrlFilter.getBaseUrl(); - if("pdf".equalsIgnoreCase(tifPreviewType)){ + if("pdf".equalsIgnoreCase(tifPreviewType) && !"image".equalsIgnoreCase(priveiwType)){ File filePdf = ConvertPicUtil.convertJpg2Pdf(fileDir + uuid + ".jpg", fileDir + uuid + ".pdf"); if(filePdf.exists()){ - // 转换后的jpg没用了,可以删掉了 - fileJpg.delete(); - String pdfUrl = baseUrl + uuid + ".pdf"; model.addAttribute("pdfUrl", pdfUrl); diff --git a/server/src/main/java/cn/keking/utils/ConvertPicUtil.java b/server/src/main/java/cn/keking/utils/ConvertPicUtil.java index c4200106..2b29a1e7 100644 --- a/server/src/main/java/cn/keking/utils/ConvertPicUtil.java +++ b/server/src/main/java/cn/keking/utils/ConvertPicUtil.java @@ -8,13 +8,11 @@ import com.lowagie.text.pdf.PdfWriter; import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageEncoder; import com.sun.media.jai.codec.JPEGEncodeParam; -import org.springframework.stereotype.Component; import javax.media.jai.JAI; import javax.media.jai.RenderedOp; import java.io.*; -@Component public class ConvertPicUtil { /** 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 42804746..22af00ec 100644 --- a/server/src/main/java/cn/keking/web/controller/OnlinePreviewController.java +++ b/server/src/main/java/cn/keking/web/controller/OnlinePreviewController.java @@ -70,6 +70,10 @@ 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 fa0167e7..5e6c8501 100644 --- a/server/src/main/resources/web/pdf.ftl +++ b/server/src/main/resources/web/pdf.ftl @@ -37,12 +37,14 @@ } function goForImage() { - var url = window.location.href; + var url = window.location.href + "&previewType=image" + console.log(url); 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; }