* tif图片预览,根据反馈的意见,已经全部修改
1、配置文件、配置项默认值已改回image、tif 2、去掉了静态工具类上的@component 注解 3、修改OnlinePreview处理,在切换image方式预览时url中加入参数previewType=image,加入对应的处理,兼容在pdf预览模式下切换到JPG方式预览pull/35/head
parent
6dce47e47f
commit
6387ac21c9
|
@ -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}
|
||||||
#是否关闭office预览切换开关,默认为false,可配置为true关闭
|
#是否关闭office预览切换开关,默认为false,可配置为true关闭
|
||||||
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}
|
||||||
|
|
||||||
#Tif类型图片浏览模式:tif(利用前端js插件浏览);jpg(转换为jpg后前端显示);pdf(转换为pdf后显示,便于打印)
|
#Tif类型图片浏览模式:tif(利用前端js插件浏览);jpg(转换为jpg后前端显示);pdf(转换为pdf后显示,便于打印)
|
||||||
tif.preview.type = ${KK_TIF_PREVIEW_TYPE:tif}
|
tif.preview.type = ${KK_TIF_PREVIEW_TYPE:pdf}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue