diff --git a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java index a6049f0..83a5617 100644 --- a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java +++ b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java @@ -230,13 +230,8 @@ public class FiletransferController { httpServletResponse.addHeader("Content-Disposition", "fileName=" + fileName);// 设置文件名 - try { - filetransferService.previewFile(httpServletResponse, previewDTO); - }catch (Exception e){ - //org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 - e.printStackTrace(); - log.error("该异常忽略不做处理:" + e); - } + filetransferService.previewFile(httpServletResponse, previewDTO); + } diff --git a/src/main/java/com/qiwenshare/file/controller/OfficeController.java b/src/main/java/com/qiwenshare/file/controller/OfficeController.java index 9328237..74d0f9f 100644 --- a/src/main/java/com/qiwenshare/file/controller/OfficeController.java +++ b/src/main/java/com/qiwenshare/file/controller/OfficeController.java @@ -3,6 +3,7 @@ package com.qiwenshare.file.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.ClassUtils; import com.qiwenshare.common.exception.NotLoginException; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.util.DateUtil; @@ -89,8 +90,8 @@ public class OfficeController { } else if ("pptx".equals(extendName)) { templateFilePath = "template/PowerPoint.pptx"; } - String templateFileUrl = UFOPUtils.getStaticPath() + templateFilePath; - FileInputStream fileInputStream = new FileInputStream(templateFileUrl); + String url2 = ClassUtils.getDefaultClassLoader().getResource("static/" + templateFilePath).getPath(); + FileInputStream fileInputStream = new FileInputStream(url2); Copier copier = ufopFactory.getCopier(); CopyFile copyFile = new CopyFile(); copyFile.setExtendName(extendName); diff --git a/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java b/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java index a5cc9db..71415e1 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java @@ -11,9 +11,4 @@ public class BatchDeleteFileDTO { @Schema(description="文件集合", required = true) private String files; - public static void main(String[] args) { - boolean ddd = Pattern.matches("(?!((^(con)$)|^(con)/..*|(^(prn)$)|^(prn)/..*|(^(aux)$)|^(aux)/..*|(^(nul)$)|^(nul)/..*|(^(com)[1-9]$)|^(com)[1-9]/..*|(^(lpt)[1-9]$)|^(lpt)[1-9]/..*)|^/s+|.*/s$)(^[^/////:/*/?/\"//|]{1,255}$)", "con1"); - System.out.println(ddd); - } - } diff --git a/src/main/java/com/qiwenshare/file/dto/file/DownloadFileDTO.java b/src/main/java/com/qiwenshare/file/dto/file/DownloadFileDTO.java index 3acd8bb..e339428 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/DownloadFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/DownloadFileDTO.java @@ -6,7 +6,7 @@ import lombok.Data; @Data @Schema(name = "下载文件DTO",required = true) public class DownloadFileDTO { - private Long userFileId; + private long userFileId; private String token; @Schema(description="批次号") private String shareBatchNum; diff --git a/src/main/java/com/qiwenshare/file/service/FiletransferService.java b/src/main/java/com/qiwenshare/file/service/FiletransferService.java index c1bdd3a..6a1c21b 100644 --- a/src/main/java/com/qiwenshare/file/service/FiletransferService.java +++ b/src/main/java/com/qiwenshare/file/service/FiletransferService.java @@ -250,18 +250,29 @@ public class FiletransferService implements IFiletransferService { e.printStackTrace(); } } - Downloader downloader = ufopFactory.getDownloader(StorageTypeEnum.LOCAL.getCode()); - DownloadFile downloadFile = new DownloadFile(); - downloadFile.setFileUrl("temp" + File.separator+userFile.getFileName() + ".zip"); - File tempFile = new File(UFOPUtils.getStaticPath() + downloadFile.getFileUrl()); - httpServletResponse.setContentLengthLong(tempFile.length()); - downloader.download(httpServletResponse, downloadFile); - String zipPath = UFOPUtils.getStaticPath() + "temp" + File.separator+userFile.getFileName() + ".zip"; - File file = new File(zipPath); - if (file.exists()) { - file.delete(); - } + String zipPath = ""; + try { + Downloader downloader = ufopFactory.getDownloader(StorageTypeEnum.LOCAL.getCode()); + DownloadFile downloadFile = new DownloadFile(); + downloadFile.setFileUrl("temp" + File.separator + userFile.getFileName() + ".zip"); + File tempFile = new File(UFOPUtils.getStaticPath() + downloadFile.getFileUrl()); + httpServletResponse.setContentLengthLong(tempFile.length()); + downloader.download(httpServletResponse, downloadFile); + zipPath = UFOPUtils.getStaticPath() + "temp" + File.separator + userFile.getFileName() + ".zip"; + } catch (Exception e) { + //org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer + if (e.getMessage().contains("ClientAbortException")) { + //该异常忽略不做处理 + } else { + log.error("下传zip文件出现异常:{}", e.getMessage()); + } + } finally { + File file = new File(zipPath); + if (file.exists()) { + file.delete(); + } + } } } @@ -277,14 +288,24 @@ public class FiletransferService implements IFiletransferService { PreviewFile previewFile = new PreviewFile(); previewFile.setFileUrl(fileBean.getFileUrl()); previewFile.setFileSize(fileBean.getFileSize()); - if ("true".equals(previewDTO.getIsMin())) { - previewer.imageThumbnailPreview(httpServletResponse, previewFile); + try { + if ("true".equals(previewDTO.getIsMin())) { + previewer.imageThumbnailPreview(httpServletResponse, previewFile); + } else { + previewer.imageOriginalPreview(httpServletResponse, previewFile); + } + } catch (Exception e){ + //org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + if (e.getMessage().contains("ClientAbortException")) { + //该异常忽略不做处理 } else { - previewer.imageOriginalPreview(httpServletResponse, previewFile); + log.error("预览文件出现异常:{}", e.getMessage()); } } + } + @Override public void deleteFile(FileBean fileBean) { Deleter deleter = null; @@ -292,7 +313,6 @@ public class FiletransferService implements IFiletransferService { deleter = ufopFactory.getDeleter(fileBean.getStorageType()); DeleteFile deleteFile = new DeleteFile(); deleteFile.setFileUrl(fileBean.getFileUrl()); -// deleteFile.setTimeStampName(fileBean.getTimeStampName()); deleter.delete(deleteFile); } diff --git a/src/main/java/com/qiwenshare/file/service/UserService.java b/src/main/java/com/qiwenshare/file/service/UserService.java index ec3c96a..c67a05a 100644 --- a/src/main/java/com/qiwenshare/file/service/UserService.java +++ b/src/main/java/com/qiwenshare/file/service/UserService.java @@ -47,7 +47,7 @@ public class UserService extends ServiceImpl implements IU try { c = JjwtUtil.parseJWT(token); } catch (Exception e) { - log.error("解码异常:" + e); + log.info("解码异常:" + e); return null; } if (c == null) {