From 59ac8effc19c9405ec47597a4cdccce472126515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=B2=BE=E5=8D=8E?= <842761733@qq.com> Date: Thu, 14 May 2020 10:11:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keking/service/FileConverQueueTask.java | 17 +++++++------ .../main/java/cn/keking/utils/CadToPdf.java | 2 +- .../java/cn/keking/utils/ConverterUtils.java | 5 +--- .../java/cn/keking/utils/DownloadUtils.java | 2 +- .../main/java/cn/keking/utils/FileUtils.java | 2 +- .../main/java/cn/keking/utils/PdfUtils.java | 4 ++-- .../java/cn/keking/utils/ShedulerClean.java | 6 ++--- .../main/java/cn/keking/utils/ZipReader.java | 2 -- .../controller/OnlinePreviewController.java | 24 +++++++++---------- 9 files changed, 31 insertions(+), 33 deletions(-) diff --git a/jodconverter-web/src/main/java/cn/keking/service/FileConverQueueTask.java b/jodconverter-web/src/main/java/cn/keking/service/FileConverQueueTask.java index 255c3aa8..d1474e7a 100644 --- a/jodconverter-web/src/main/java/cn/keking/service/FileConverQueueTask.java +++ b/jodconverter-web/src/main/java/cn/keking/service/FileConverQueueTask.java @@ -56,24 +56,27 @@ public class FileConverQueueTask { @Override public void run() { while (true) { + String url = null; try { - String url = cacheService.takeQueueTask(); + url = cacheService.takeQueueTask(); if(url != null){ FileAttribute fileAttribute = fileUtils.getFileAttribute(url); - logger.info("正在处理转换任务,文件名称【{}】",fileAttribute.getName()); - FileType fileType=fileAttribute.getType(); - if(fileType.equals(FileType.compress) || fileType.equals(FileType.office) || fileType.equals(FileType.cad)){ - FilePreview filePreview=previewFactory.get(fileAttribute); + FileType fileType = fileAttribute.getType(); + logger.info("正在处理预览转换任务,url:{},预览类型:{}", url, fileType); + if(fileType.equals(FileType.compress) || fileType.equals(FileType.office) || fileType.equals(FileType.cad)) { + FilePreview filePreview = previewFactory.get(fileAttribute); filePreview.filePreviewHandle(url, new ExtendedModelMap(), fileAttribute); + } else { + logger.info("预览类型无需处理,url:{},预览类型:{}", url, fileType); } } } catch (Exception e) { try { Thread.sleep(1000*10); - }catch (Exception ex){ + } catch (Exception ex){ ex.printStackTrace(); } - e.printStackTrace(); + logger.info("处理预览转换任务异常,url:{}", url, e); } } } diff --git a/jodconverter-web/src/main/java/cn/keking/utils/CadToPdf.java b/jodconverter-web/src/main/java/cn/keking/utils/CadToPdf.java index 3fb97826..8eeb4c19 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/CadToPdf.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/CadToPdf.java @@ -43,7 +43,7 @@ public class CadToPdf { cadImage.close(); return true; } catch (FileNotFoundException e) { - logger.error("PDFFileNotFoundException", e); + logger.error("PDFFileNotFoundException,inputFilePath:{}", inputFilePath, e); return false; } } diff --git a/jodconverter-web/src/main/java/cn/keking/utils/ConverterUtils.java b/jodconverter-web/src/main/java/cn/keking/utils/ConverterUtils.java index 253088b1..352cc2a7 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/ConverterUtils.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/ConverterUtils.java @@ -33,10 +33,7 @@ public class ConverterUtils { private final Logger logger = LoggerFactory.getLogger(ConverterUtils.class); -// @Value("${office.home}") -// String officeHome; -// OpenOfficeConnection connection; - OfficeManager officeManager; + private OfficeManager officeManager; @PostConstruct public void initOfficeManager() { diff --git a/jodconverter-web/src/main/java/cn/keking/utils/DownloadUtils.java b/jodconverter-web/src/main/java/cn/keking/utils/DownloadUtils.java index 21ba2e2d..427d3592 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/DownloadUtils.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/DownloadUtils.java @@ -84,7 +84,7 @@ public class DownloadUtils { } return response; } catch (IOException e) { - LOGGER.error("文件下载失败", e); + LOGGER.error("文件下载失败,url:{}", urlAddress, e); response.setCode(1); response.setContent(null); if (e instanceof FileNotFoundException) { diff --git a/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java b/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java index 3d5bc516..09cda35c 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java @@ -36,7 +36,7 @@ public class FileUtils { String fileDir = ConfigConstants.getFileDir(); /** - * 已转换过的文件集合(redis缓存) + * 已转换过的文件集合(缓存) * @return */ public Map listConvertedFiles() { diff --git a/jodconverter-web/src/main/java/cn/keking/utils/PdfUtils.java b/jodconverter-web/src/main/java/cn/keking/utils/PdfUtils.java index 1131d153..d5e342b6 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/PdfUtils.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/PdfUtils.java @@ -18,7 +18,7 @@ import java.util.List; @Component public class PdfUtils { - private final Logger LOGGER = LoggerFactory.getLogger(PdfUtils.class); + private final Logger logger = LoggerFactory.getLogger(PdfUtils.class); @Autowired FileUtils fileUtils; @@ -57,7 +57,7 @@ public class PdfUtils { doc.close(); fileUtils.addConvertedPdfImage(pdfFilePath, pageCount); } catch (IOException e) { - LOGGER.error("Convert pdf to jpg exception", e); + logger.error("Convert pdf to jpg exception, pdfFilePath:{}", pdfFilePath, e); } return imageUrls; } diff --git a/jodconverter-web/src/main/java/cn/keking/utils/ShedulerClean.java b/jodconverter-web/src/main/java/cn/keking/utils/ShedulerClean.java index 495f4353..84f110be 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/ShedulerClean.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/ShedulerClean.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; @ConditionalOnExpression("'${cache.clean.enabled:false}'.equals('true')") public class ShedulerClean { - private static final Logger LOGGER = LoggerFactory.getLogger(ShedulerClean.class); + private final Logger logger = LoggerFactory.getLogger(ShedulerClean.class); @Autowired private CacheService cacheService; @@ -27,9 +27,9 @@ public class ShedulerClean { //默认每晚3点执行一次 @Scheduled(cron = "${cache.clean.cron:0 0 3 * * ?}") public void clean() { - LOGGER.info("Cache clean start"); + logger.info("Cache clean start"); cacheService.cleanCache(); DeleteFileUtil.deleteDirectory(fileDir); - LOGGER.info("Cache clean end"); + logger.info("Cache clean end"); } } diff --git a/jodconverter-web/src/main/java/cn/keking/utils/ZipReader.java b/jodconverter-web/src/main/java/cn/keking/utils/ZipReader.java index d71eec80..e830a0a7 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/ZipReader.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/ZipReader.java @@ -427,7 +427,6 @@ public class ZipReader { @Override public void run() { - System.out.println("解析压缩文件开始《《《《《《《《《《《《《《《《《《《《《《《"); for (Map entryMap : entriesToBeExtracted) { String childName = entryMap.keySet().iterator().next(); ZipArchiveEntry entry = entryMap.values().iterator().next(); @@ -445,7 +444,6 @@ public class ZipReader { if (new File(filePath).exists()) { new File(filePath).delete(); } - System.out.println("解析压缩文件结束《《《《《《《《《《《《《《《《《《《《《《《"); } diff --git a/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java b/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java index 79b94370..03bd99c7 100644 --- a/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java +++ b/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java @@ -1,5 +1,6 @@ package cn.keking.web.controller; +import cn.keking.hutool.URLUtil; import cn.keking.model.FileAttribute; import cn.keking.service.FilePreview; import cn.keking.service.FilePreviewFactory; @@ -30,7 +31,7 @@ import java.util.List; @Controller public class OnlinePreviewController { - private static final Logger LOGGER = LoggerFactory.getLogger(OnlinePreviewController.class); + private final Logger logger = LoggerFactory.getLogger(OnlinePreviewController.class); @Autowired private FilePreviewFactory previewFactory; @@ -52,22 +53,20 @@ public class OnlinePreviewController { req.setAttribute("fileKey", req.getParameter("fileKey")); model.addAttribute("officePreviewType", req.getParameter("officePreviewType")); FilePreview filePreview = previewFactory.get(fileAttribute); + logger.info("预览文件url:{},previewType:{}", url, fileAttribute.getType()); return filePreview.filePreviewHandle(url, model, fileAttribute); } @RequestMapping(value = "/picturesPreview") - public String picturesPreview(Model model, HttpServletRequest req) throws UnsupportedEncodingException { + public String picturesPreview(Model model, HttpServletRequest req) { String urls = req.getParameter("urls"); String currentUrl = req.getParameter("currentUrl"); - // 路径转码 - String decodedUrl = URLDecoder.decode(urls, "utf-8"); - String decodedCurrentUrl = URLDecoder.decode(currentUrl, "utf-8"); - // 抽取文件并返回文件列表 - String[] imgs = decodedUrl.split("\\|"); + logger.info("预览文件url:{},urls:{}", currentUrl, urls); + String[] imgs = urls.split("\\|"); List imgurls = Arrays.asList(imgs); model.addAttribute("imgurls", imgurls); - model.addAttribute("currentUrl",decodedCurrentUrl); + model.addAttribute("currentUrl", currentUrl); return "picture"; } /** @@ -80,9 +79,9 @@ public class OnlinePreviewController { @RequestMapping(value = "/getCorsFile", method = RequestMethod.GET) public void getCorsFile(String urlPath, HttpServletResponse resp) { InputStream inputStream = null; + logger.info("下载跨域pdf文件url:{}", urlPath); try { - String strUrl = urlPath.trim(); - URL url = new URL(new URI(strUrl).toASCIIString()); + URL url = new URL(URLUtil.normalize(urlPath, true)); //打开请求连接 URLConnection connection = url.openConnection(); HttpURLConnection httpURLConnection = (HttpURLConnection) connection; @@ -93,8 +92,8 @@ public class OnlinePreviewController { while (-1 != (len = inputStream.read(bs))) { resp.getOutputStream().write(bs, 0, len); } - } catch (IOException | URISyntaxException e) { - LOGGER.error("下载pdf文件失败", e); + } catch (IOException e) { + logger.error("下载跨域pdf文件异常,url:{}", urlPath, e); } finally { if (inputStream != null) { IOUtils.closeQuietly(inputStream); @@ -109,6 +108,7 @@ public class OnlinePreviewController { @GetMapping("/addTask") @ResponseBody public String addQueueTask(String url) { + logger.info("添加转码队列url:{}", url); cacheService.addQueueTask(url); return "success"; }