Commit 31d5ee39 authored by litengwei's avatar litengwei

Merge remote-tracking branch 'origin/develop_dl_bugfix' into develop_dl_bugfix

parents d948c7fd cec8a2b8
package com.yeejoin.amos.fas.business.util; package com.yeejoin.amos.fas.business.util;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
...@@ -7,7 +9,6 @@ import javax.servlet.http.HttpServletResponse; ...@@ -7,7 +9,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -15,6 +16,9 @@ import java.io.InputStream; ...@@ -15,6 +16,9 @@ import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List; import java.util.List;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
...@@ -44,8 +48,8 @@ public class FileUtils { ...@@ -44,8 +48,8 @@ public class FileUtils {
OutputStream out = null; OutputStream out = null;
BufferedInputStream br = null; BufferedInputStream br = null;
try { try {
String fileName = new String(zipname.getBytes("UTF-8"), "iso-8859-1"); String fileName = new String(zipname.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
br = new BufferedInputStream(new FileInputStream(zippath)); br = new BufferedInputStream(Files.newInputStream(Paths.get(zippath)));
byte[] buf = new byte[1024]; byte[] buf = new byte[1024];
int len = 0; int len = 0;
response.reset(); response.reset();
...@@ -79,8 +83,19 @@ public class FileUtils { ...@@ -79,8 +83,19 @@ public class FileUtils {
* @return * @return
*/ */
public static String fileToZip(List<String> list, String fileName, String ipUrl) { public static String fileToZip(List<String> list, String fileName, String ipUrl) {
if (StringUtils.isBlank(fileName)) {
throw new RuntimeException("文件名不能为空");
}
fileName = FilenameUtils.normalize(fileName);
// 临时目录 // 临时目录
String path = System.getProperty("java.io.tmpdir") + fileName; String tmpdir = System.getProperty("java.io.tmpdir");
if (StringUtils.isNotBlank(tmpdir) && !tmpdir.endsWith(File.separator)) {
tmpdir += File.separator;
} else if (StringUtils.isBlank(tmpdir)){
tmpdir = "";
}
String path = FilenameUtils.normalize(tmpdir + fileName);
File zipFile = new File(path); File zipFile = new File(path);
zipFile.deleteOnExit(); zipFile.deleteOnExit();
try { try {
......
...@@ -6,6 +6,7 @@ import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter; ...@@ -6,6 +6,7 @@ import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;
import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions; import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions;
import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument;
import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys; import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer; import javax.xml.transform.Transformer;
...@@ -16,7 +17,7 @@ import java.io.*; ...@@ -16,7 +17,7 @@ import java.io.*;
/** /**
* 文档转换工具 * 文档转换工具
* *
* @date * @date
* @author nihuanshan * @author nihuanshan
* *
...@@ -26,11 +27,11 @@ public class WordConverterUtils { ...@@ -26,11 +27,11 @@ public class WordConverterUtils {
/** /**
* 图片存储相对文档路径 * 图片存储相对文档路径
*/ */
private static String imgPath = "\\image\\"; private static String imgPath = File.separator + "image" + File.separator;
/** /**
* word文档转html文档 * word文档转html文档
* *
* @author: nihuanshan * @author: nihuanshan
* @date: 2018年12月6日 下午2:55:32 * @date: 2018年12月6日 下午2:55:32
* @param srcFile 原文档 * @param srcFile 原文档
...@@ -50,7 +51,7 @@ public class WordConverterUtils { ...@@ -50,7 +51,7 @@ public class WordConverterUtils {
} }
} }
} }
/** /**
* word转html字符串 * word转html字符串
* @param srcFile * @param srcFile
...@@ -69,7 +70,7 @@ public class WordConverterUtils { ...@@ -69,7 +70,7 @@ public class WordConverterUtils {
/** /**
* .doc文档转换成html * .doc文档转换成html
* *
* @author: nihuanshan * @author: nihuanshan
* @date: 2018年12月6日 下午2:53:43 * @date: 2018年12月6日 下午2:53:43
* @param srcFile * @param srcFile
...@@ -108,6 +109,7 @@ public class WordConverterUtils { ...@@ -108,6 +109,7 @@ public class WordConverterUtils {
DOMSource domSource = new DOMSource(htmlDocument); DOMSource domSource = new DOMSource(htmlDocument);
StreamResult streamResult = new StreamResult(targetFile); StreamResult streamResult = new StreamResult(targetFile);
TransformerFactory tf = TransformerFactory.newInstance(); TransformerFactory tf = TransformerFactory.newInstance();
tf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
Transformer serializer = tf.newTransformer(); Transformer serializer = tf.newTransformer();
serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8"); serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
serializer.setOutputProperty(OutputKeys.INDENT, "yes"); serializer.setOutputProperty(OutputKeys.INDENT, "yes");
...@@ -118,7 +120,7 @@ public class WordConverterUtils { ...@@ -118,7 +120,7 @@ public class WordConverterUtils {
} }
} }
/** /**
* doc转htmlString * doc转htmlString
* @param srcFile * @param srcFile
...@@ -156,12 +158,14 @@ public class WordConverterUtils { ...@@ -156,12 +158,14 @@ public class WordConverterUtils {
StringWriter stringWriter = new StringWriter(); StringWriter stringWriter = new StringWriter();
StreamResult streamResult = new StreamResult(stringWriter); StreamResult streamResult = new StreamResult(stringWriter);
TransformerFactory tf = TransformerFactory.newInstance(); TransformerFactory tf = TransformerFactory.newInstance();
tf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
Transformer serializer = tf.newTransformer(); Transformer serializer = tf.newTransformer();
serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8"); serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
serializer.setOutputProperty(OutputKeys.INDENT, "yes"); serializer.setOutputProperty(OutputKeys.INDENT, "yes");
serializer.setOutputProperty(OutputKeys.METHOD, "html"); serializer.setOutputProperty(OutputKeys.METHOD, "html");
serializer.transform(domSource, streamResult); serializer.transform(domSource, streamResult);
return stringWriter.toString(); return stringWriter.toString();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -202,9 +206,9 @@ public class WordConverterUtils { ...@@ -202,9 +206,9 @@ public class WordConverterUtils {
e.printStackTrace(); e.printStackTrace();
} }
} }
/** /**
*docx转htmlString *docx转htmlString
* @param srcFile * @param srcFile
* @param readUrl * @param readUrl
* @return * @return
......
...@@ -19,6 +19,7 @@ import org.springframework.cloud.netflix.hystrix.EnableHystrix; ...@@ -19,6 +19,7 @@ import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
...@@ -35,7 +36,7 @@ import com.yeejoin.amos.filter.CrossDomainFilter; ...@@ -35,7 +36,7 @@ import com.yeejoin.amos.filter.CrossDomainFilter;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
/** /**
* *
* <pre> * <pre>
* 服务启动类 * 服务启动类
* </pre> * </pre>
...@@ -70,13 +71,15 @@ public class YeeAmosFireAutoSysStart implements ApplicationContextAware { ...@@ -70,13 +71,15 @@ public class YeeAmosFireAutoSysStart implements ApplicationContextAware {
*/ */
public static void main(String[] args) { public static void main(String[] args) {
log.info("start Service.........."); log.info("start Service..........");
try { ApplicationContext context = SpringApplication.run(YeeAmosFireAutoSysStart.class, args);
SpringApplication application = new SpringApplication(YeeAmosFireAutoSysStart.class); Environment env = context.getEnvironment();
Environment environment = application.run(args).getEnvironment(); String appName = env.getProperty("spring.application.name");
log.info("SwaggerUI: http://" + InetAddress.getLocalHost().getHostAddress() + ":" + environment.getProperty("server.port") + environment.getProperty("server.servlet.context-path") + "/swagger-ui.html"); log.info(
} catch (Exception e) { "\n----------------------------------------------------------\n\t"
System.out.println("error occur when run server! " + e); + "Application {} is running!\n"
} + "----------------------------------------------------------\n"
, appName
);
} }
/** /**
...@@ -90,7 +93,7 @@ public class YeeAmosFireAutoSysStart implements ApplicationContextAware { ...@@ -90,7 +93,7 @@ public class YeeAmosFireAutoSysStart implements ApplicationContextAware {
} }
/** /**
* *
* <pre> * <pre>
* 跨域处理的FilterBean * 跨域处理的FilterBean
* </pre> * </pre>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment