陈精华 4 лет назад
Родитель
Сommit
26e147b426

+ 58 - 15
README.en.md

@@ -26,8 +26,9 @@ URL:[https://kkfileview.keking.cn](https://kkfileview.keking.cn)
 URL:[https://file.keking.cn](https://file.keking.cn)
 
 ### Documentation
+1. Full wiki document:https://gitee.com/kekingcn/file-online-preview/wikis/pages
 1. 中文文档:https://gitee.com/kekingcn/file-online-preview/blob/master/README.md
-1. English document:https://github.com/kekingcn/kkFileView/blob/master/README.en.md
+1. English document:https://gitee.com/kekingcn/file-online-preview/blob/master/README.en.md
 
 ### Contact us && Join us
 > We will answer everyone's questions in use of this project.
@@ -38,20 +39,62 @@ Cherish life away from ineffective communication.
 QQ group:613025121
 
 ### Pictures for some samples
-> Excel
-
-![输入图片说明](https://gitee.com/uploads/images/2017/1213/093051_cd55b3ec_492218.png "屏幕截图.png")
-> doc
-
-![输入图片说明](https://gitee.com/uploads/images/2017/1213/092350_5b2ecbe5_492218.png "屏幕截图.png")
-
-> zip,rar
-
-![输入图片说明](https://gitee.com/uploads/images/2017/1213/093806_46cede06_492218.png "屏幕截图.png")
-
-> png,jpeg,jpg,etc., support for zooming with mouse scroll, rotation, inversion,etc.
-
-![输入图片说明](https://gitee.com/uploads/images/2017/1213/094335_657a6f60_492218.png "屏幕截图.png")
+#### 1. Text Preview  
+It supports preview of all types of text documents. Because there are too many types of text documents, it is impossible to enumerate them. The default open types are as follows:  txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd  
+The text preview effect is as follows    
+![text](https://kkfileview.keking.cn/img/preview/preview-text.png)      
+
+#### 2. Picture preview  
+Support jpg, jpeg, png, gif and other picture previews (flip, zoom, mirror). The preview effect is as follows   
+![image](https://kkfileview.keking.cn/img/preview/preview-image.png)  
+
+#### 3. Word document preview
+Doc and docx document previews are supported. There are two modes of word previews: one is that each page of word is converted to picture previews, the other is that the whole word document is converted to PDF, and then previews PDF. The applicable scenarios of the two modes are as follows  
+* Picture preview modes: the word file is large, and the whole PDF loaded in the foreground is too slow  
+* Pdf Preview modes: intranet access, loading PDF fast  
+The preview effect of picture preview mode is as follows  
+![word1](https://kkfileview.keking.cn/img/preview/preview-doc-image.png)  
+The preview effect of PDF preview mode is as follows  
+![word2](https://kkfileview.keking.cn/img/preview/preview-doc-pdf.png)  
+
+#### 4. PPT document preview  
+ppt and pptx document preview are supported. Like word documents, there are two preview modes  
+The preview effect of picture preview mode is as follows  
+![ppt1](https://kkfileview.keking.cn/img/preview/preview-ppt-image.png)  
+The preview effect of PDF preview mode is as follows 
+![ppt2](https://kkfileview.keking.cn/img/preview/preview-ppt-pdf.png)  
+
+#### 5. PDF document preview  
+Pdf document preview is supported. Like word document, there are two preview modes  
+The preview effect of picture preview mode is as follows    
+![pdf1](https://kkfileview.keking.cn/img/preview/preview-pdf-image.png)  
+The preview effect of PDF preview mode is as follows     
+![pdf2](https://kkfileview.keking.cn/img/preview/preview-pdf-pdf.png)    
+
+#### 6. EXCEL document preview  
+Support XLS, xlsx document preview, the preview effect is as follows  
+![excel](https://kkfileview.keking.cn/img/preview/preview-xls.png)  
+
+#### 7. Compressed file Preview  
+Support zip, rar, jar, tar, gzip and other compressed packages. The preview effect is as follows  
+![compress1](https://kkfileview.keking.cn/img/preview/preview-zip.png)  
+Click the file name in the compressed package to preview the file directly. The preview effect is as follows  
+![compress2](https://kkfileview.keking.cn/img/preview/preview-zip-inner.png)  
+
+#### 8. Multimedia file Preview  
+Theoretically, all video and audio files are supported. Since all file formats cannot be enumerated, the default open type is as follows  
+mp3,wav,mp4,flv  
+The video preview effect is as follows  
+![media1](https://kkfileview.keking.cn/img/preview/preview-video.png)  
+The audio preview effect is as follows    
+![media2](https://kkfileview.keking.cn/img/preview/preview-audio.png)  
+
+#### 9. CAD document preview 
+CAD DWG document preview is supported. Like word document, there are two preview modes  
+The preview effect of Picture preview mode is as follows  
+![cad1](https://kkfileview.keking.cn/img/preview/preview-cad-image.png)  
+The preview effect of PDF preview mode is as follows  
+![cad2](https://kkfileview.keking.cn/img/preview/preview-cad-pdf.png)  
 Considering space issues, the pictures of other types of documents will not be shown here.You can deploy it by yourself if you are interested in our project.There is a way to deploy it as below.
 
 ### Quick Start

Разница между файлами не показана из-за своего большого размера
+ 58 - 16
README.md


+ 2 - 1
jodconverter-web/src/main/config/application.properties

@@ -65,7 +65,8 @@ ftp.control.encoding = ${KK_FTP_CONTROL_ENCODING:UTF-8}
 
 #水印内容
 #例:watermark.txt = ${WATERMARK_TXT:凯京科技内部文件,严禁外泄}
-watermark.txt = ${WATERMARK_TXT:kkFileView文件预览}
+#如需取消水印,内容设置为空即可,例:watermark.txt = ${WATERMARK_TXT:}
+watermark.txt = ${WATERMARK_TXT:}
 #水印x轴间隔
 watermark.x.space = ${WATERMARK_X_SPACE:10}
 #水印y轴间隔

+ 7 - 3
jodconverter-web/src/main/java/cn/keking/hutool/URLUtil.java

@@ -21,7 +21,7 @@ public class URLUtil {
 	 * @return 标准化后的URL字符串
 	 */
 	public static String normalize(String url) {
-		return normalize(url, false);
+		return normalize(url, false, false);
 	}
 
 	/**
@@ -33,10 +33,11 @@ public class URLUtil {
 	 *
 	 * @param url URL字符串
 	 * @param isEncodeBody 是否对URL中body部分的中文和特殊字符做转义(不包括http:和/)
+	 * @param isEncodeParam 是否对URL中参数部分的中文和特殊字符做转义
 	 * @return 标准化后的URL字符串
 	 * @since 4.4.1
 	 */
-	public static String normalize(String url, boolean isEncodeBody) {
+	public static String normalize(String url, boolean isEncodeBody, boolean isEncodeParam) {
 		if (StrUtil.isBlank(url)) {
 			return url;
 		}
@@ -54,7 +55,7 @@ public class URLUtil {
 		final int paramsSepIndex = StrUtil.indexOf(body, '?');
 		String params = null;
 		if (paramsSepIndex > 0) {
-			params = StrUtil.subSuf(body, paramsSepIndex);
+			params = StrUtil.subSuf(body, paramsSepIndex + 1);
 			body = StrUtil.subPre(body, paramsSepIndex);
 		}
 
@@ -64,6 +65,9 @@ public class URLUtil {
 		body = body.replace("\\", "/").replaceAll("//+", "/");
 		if (isEncodeBody) {
 			body = URLEncoder.DEFAULT.encode(body, StandardCharsets.UTF_8);
+			if (params != null) {
+				params = "?" + URLEncoder.DEFAULT.encode(params, StandardCharsets.UTF_8);
+			}
 		}
 		return pre + body + StrUtil.nullToEmpty(params);
 	}

+ 3 - 3
jodconverter-web/src/main/java/cn/keking/utils/DownloadUtils.java

@@ -58,7 +58,7 @@ public class DownloadUtils {
             URL url = new URL(urlStr);
             OutputStream os = new FileOutputStream(new File(realPath));
             if (url.getProtocol() != null && url.getProtocol().toLowerCase().startsWith("http")) {
-                saveToOutputStreamFormUrl(urlStr, os);
+                saveToOutputStreamFromUrl(urlStr, os);
             } else if (url.getProtocol() != null && "ftp".equals(url.getProtocol().toLowerCase())) {
                 String ftpUsername = fileUtils.getUrlParameterReg(fileAttribute.getUrl(), URL_PARAM_FTP_USERNAME);
                 String ftpPassword = fileUtils.getUrlParameterReg(fileAttribute.getUrl(), URL_PARAM_FTP_PASSWORD);
@@ -88,12 +88,12 @@ public class DownloadUtils {
         }
     }
 
-    public boolean saveToOutputStreamFormUrl(String urlStr, OutputStream os) throws IOException {
+    public boolean saveToOutputStreamFromUrl(String urlStr, OutputStream os) throws IOException {
         InputStream is = getInputStreamFromUrl(urlStr);
         if (is != null) {
             copyStream(is, os);
         } else {
-            urlStr = URLUtil.normalize(urlStr, true);
+            urlStr = URLUtil.normalize(urlStr, true, true);
             is = getInputStreamFromUrl(urlStr);
             if (is != null) {
                 copyStream(is, os);

+ 1 - 1
jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java

@@ -84,7 +84,7 @@ public class OnlinePreviewController {
     public void getCorsFile(String urlPath, HttpServletResponse response) {
         logger.info("下载跨域pdf文件url:{}", urlPath);
         try {
-            downloadUtils.saveToOutputStreamFormUrl(urlPath, response.getOutputStream());
+            downloadUtils.saveToOutputStreamFromUrl(urlPath, response.getOutputStream());
         } catch (IOException e) {
             logger.error("下载跨域pdf文件异常,url:{}", urlPath, e);
         }