* 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}
#office(word ppt)(image)pdf
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:pdf}
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
#officefalsetrue
office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}
@ -107,5 +107,5 @@ watermark.height = ${WATERMARK_HEIGHT:80}
watermark.angle = ${WATERMARK_ANGLE:10}
#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_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;

View File

@ -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);

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.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 {
/**

View File

@ -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);

View File

@ -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;
}