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

1、配置文件、配置项默认值已改回image、tif
2、去掉了静态工具类上的@component 注解
3、修改OnlinePreview处理,在切换image方式预览时url中加入参数previewType=image,加入对应的处理,兼容在pdf预览模式下切换到JPG方式预览
pull/35/head
zhangzhen1979 2021-12-09 17:19:15 +08:00 committed by kl
parent 6dce47e47f
commit 6387ac21c9
6 changed files with 15 additions and 11 deletions

View File

@ -67,7 +67,7 @@ media.convert.disable = ${KK_MEDIA_CONVERT_DISABLE:false}
# #
convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm} convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm}
#office(word ppt)(image)pdf #office(word ppt)(image)pdf
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:pdf} office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
#officefalsetrue #officefalsetrue
office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false} office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}
@ -107,5 +107,5 @@ watermark.height = ${WATERMARK_HEIGHT:80}
watermark.angle = ${WATERMARK_ANGLE:10} watermark.angle = ${WATERMARK_ANGLE:10}
#Tiftifjsjpgjpgpdfpdf便 #Tiftifjsjpgjpgpdfpdf便
tif.preview.type = ${KK_TIF_PREVIEW_TYPE:tif} tif.preview.type = ${KK_TIF_PREVIEW_TYPE:pdf}

View File

@ -53,7 +53,7 @@ public class ConfigConstants {
public static final String DEFAULT_TRUST_HOST = "default"; public static final String DEFAULT_TRUST_HOST = "default";
public static final String DEFAULT_PDF_DOWNLOAD_DISABLE = "true"; public static final String DEFAULT_PDF_DOWNLOAD_DISABLE = "true";
public static final String DEFAULT_FILE_UPLOAD_DISABLE = "false"; 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() { public static Boolean isCacheEnabled() {
return cacheEnabled; return cacheEnabled;

View File

@ -41,6 +41,7 @@ public class TiffFilePreviewImpl implements FilePreview {
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) { public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
String tifPreviewType = ConfigConstants.getTifPreviewType(); String tifPreviewType = ConfigConstants.getTifPreviewType();
String priveiwType = String.valueOf(model.getAttribute("previewType"));
if("tif".equalsIgnoreCase(tifPreviewType)){ if("tif".equalsIgnoreCase(tifPreviewType)){
@ -71,15 +72,14 @@ public class TiffFilePreviewImpl implements FilePreview {
if(fileJpg.exists()){ if(fileJpg.exists()){
// 转换后的tif没用了可以删掉了 // 转换后的tif没用了可以删掉了
fileTiff.delete(); if(fileTiff.exists()){
fileTiff.delete();
}
String baseUrl = BaseUrlFilter.getBaseUrl(); 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"); File filePdf = ConvertPicUtil.convertJpg2Pdf(fileDir + uuid + ".jpg", fileDir + uuid + ".pdf");
if(filePdf.exists()){ if(filePdf.exists()){
// 转换后的jpg没用了可以删掉了
fileJpg.delete();
String pdfUrl = baseUrl + uuid + ".pdf"; String pdfUrl = baseUrl + uuid + ".pdf";
model.addAttribute("pdfUrl", pdfUrl); model.addAttribute("pdfUrl", pdfUrl);

View File

@ -8,13 +8,11 @@ import com.lowagie.text.pdf.PdfWriter;
import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageEncoder; import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGEncodeParam; import com.sun.media.jai.codec.JPEGEncodeParam;
import org.springframework.stereotype.Component;
import javax.media.jai.JAI; import javax.media.jai.JAI;
import javax.media.jai.RenderedOp; import javax.media.jai.RenderedOp;
import java.io.*; import java.io.*;
@Component
public class ConvertPicUtil { public class ConvertPicUtil {
/** /**

View File

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

View File

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