From ca4aaa611979ba10919e5e20abd4a8438f73ab80 Mon Sep 17 00:00:00 2001 From: wenc000 <450292408@qq.com> Date: Sun, 5 Apr 2020 00:35:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dueditor=E4=B8=AD=E7=9A=84BUG?= =?UTF-8?q?=E5=92=8C=E8=A7=86=E9=A2=91=E6=B5=81=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/assets.zip | Bin 10491615 -> 10491777 bytes .../routes/file/FileRouteController.java | 8 +++- .../plugin/service/file/IFileService.java | 11 +++++ .../service/file/impl/FileServiceImpl.java | 44 +++++++++++++++--- .../src/main/resources/ueditorconfig.json | 2 +- 5 files changed, 55 insertions(+), 10 deletions(-) diff --git a/cloud-common-plugin-dynamic/src/main/resources/assets.zip b/cloud-common-plugin-dynamic/src/main/resources/assets.zip index 1135ba49298310ef9b9c7dafde965c59af15b57d..06017f4c8389dd71070e360c935096ac2ea5664d 100644 GIT binary patch delta 70251 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 EKS46almGw# delta 70616 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 diff --git a/cloud-common-plugin/src/main/java/com/cm/common/plugin/controller/routes/file/FileRouteController.java b/cloud-common-plugin/src/main/java/com/cm/common/plugin/controller/routes/file/FileRouteController.java index 7ccd726..af347d5 100644 --- a/cloud-common-plugin/src/main/java/com/cm/common/plugin/controller/routes/file/FileRouteController.java +++ b/cloud-common-plugin/src/main/java/com/cm/common/plugin/controller/routes/file/FileRouteController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; @@ -131,14 +132,17 @@ public class FileRouteController extends AbstractController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("downloadfile/{isOpen}/{fileId}") - public void downLoadFile(HttpServletResponse response, @PathVariable("isOpen") String isOpen, @PathVariable("fileId") String fileId) throws FileException, ParamsException { + public void downLoadFile(HttpServletRequest request, HttpServletResponse response, @PathVariable("isOpen") String isOpen, @PathVariable("fileId") String fileId) throws FileException, ParamsException { if (!ISystemConstant.IS_TRUE.equals(isOpen) && !ISystemConstant.IS_FALSE.equals(isOpen)) { throw new ParamsException("参数错误"); } + if (fileId.indexOf(".") > 0) { + fileId = fileId.split("\\.")[0]; + } Map params = requestParams(); params.put("fileId", fileId); params.put("isOpen", isOpen); - fileService.downLoadFile(response, params); + fileService.downLoadFile(request, response, params); } /** diff --git a/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/IFileService.java b/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/IFileService.java index 2e0597c..c90283d 100644 --- a/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/IFileService.java +++ b/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/IFileService.java @@ -120,6 +120,16 @@ public interface IFileService { */ void downLoadFile(HttpServletResponse response, Map params) throws FileException; + /** + * 文件下载 + * + * @param request + * @param response + * @param params + * @throws FileException + */ + void downLoadFile(HttpServletRequest request, HttpServletResponse response, Map params) throws FileException; + /** * 百度富文本编辑器 * @@ -170,6 +180,7 @@ public interface IFileService { /** * 通过文件ID获取ID列表 + * * @param idList * @return * @throws SearchException diff --git a/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/impl/FileServiceImpl.java b/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/impl/FileServiceImpl.java index d5845ff..bbb9d3c 100644 --- a/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/impl/FileServiceImpl.java +++ b/cloud-common-plugin/src/main/java/com/cm/common/plugin/service/file/impl/FileServiceImpl.java @@ -79,6 +79,7 @@ public class FileServiceImpl extends AbstractService implements IFileService { fileDTO.setFileId(params.get("fileId").toString()); fileDTO.setFileName(params.get("fileName").toString()); fileDTO.setFileUrl(params.get("fileUrl").toString()); + fileDTO.setFileType(params.get("fileType").toString()); return fileDTO; } @@ -174,6 +175,11 @@ public class FileServiceImpl extends AbstractService implements IFileService { @Override public void downLoadFile(HttpServletResponse response, Map params) throws FileException { + downLoadFile(null, response, params); + } + + @Override + public void downLoadFile(HttpServletRequest request, HttpServletResponse response, Map params) throws FileException { OutputStream outputStream = null; FileInputStream fileInputStream = null; try { @@ -186,15 +192,17 @@ public class FileServiceImpl extends AbstractService implements IFileService { response.setHeader("Content-Length", filePO.getFileSize()); if (!Boolean.valueOf(params.get("isOpen").toString())) { response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(filePO.getFileName(), "UTF-8")); + } else { + response.setHeader("Content-Disposition", "inline;fileName=" + URLEncoder.encode(filePO.getFileName(), "UTF-8")); } + setRangeHeader(request, response, filePO.getFileId(), Long.valueOf(filePO.getFileSize())); outputStream = response.getOutputStream(); for (byte[] buf = new byte[INPUT_STREAM_SIZE]; fileInputStream.read(buf) > -1; ) { outputStream.write(buf, 0, buf.length); } outputStream.flush(); } catch (Exception e) { - LOG.error(e.getMessage(), e); - throw new FileException("文件下载异常"); + throw new FileException("文件下载异常", e); } finally { try { if (null != outputStream) { @@ -204,11 +212,33 @@ public class FileServiceImpl extends AbstractService implements IFileService { fileInputStream.close(); } } catch (Exception e1) { - LOG.error(e1.getMessage(), e1); + throw new FileException("流关闭异常", e1); } } } + /** + * 处理视频流问题 + * + * @param request + * @param response + * @param fileId + * @param contentLength + */ + private void setRangeHeader(HttpServletRequest request, HttpServletResponse response, String fileId, long contentLength) { + if (request == null) { + return; + } + String rangeString = request.getHeader("Range"); + if (StringUtils.isBlank(rangeString)) { + return; + } + long range = Long.valueOf(rangeString.substring(rangeString.indexOf("=") + 1, rangeString.indexOf("-"))); + response.setHeader("Content-Range", String.valueOf(range + (contentLength - 1))); + response.setHeader("Accept-Ranges", "bytes"); + response.setHeader("Etag", fileId); + } + @Override public JSONObject uEditor(MultipartFile file, HttpServletRequest request, Map params) throws SystemException, IOException { if (params.get(UEDITOR_ACTION) == null || StringUtils.isBlank(params.get(UEDITOR_ACTION).toString())) { @@ -275,7 +305,7 @@ public class FileServiceImpl extends AbstractService implements IFileService { List> fileList = new ArrayList<>(); for (FileDTO fileDTO : listFileDTOs) { Map fileMap = new HashMap<>(0); - fileMap.put("url", String.format("%s/route/file/downloadfile/%s/%s", request.getContextPath(), downloadFile, fileDTO.getFileId())); + fileMap.put("url", String.format("%s/route/file/downloadfile/%s/%s.%s", request.getContextPath(), downloadFile, fileDTO.getFileId(), fileDTO.getFileType())); fileList.add(fileMap); } JSONObject uEditorListResult = new JSONObject(); @@ -304,7 +334,7 @@ public class FileServiceImpl extends AbstractService implements IFileService { fileDTO = uploadSingleForFileDTO(null, file, UploadTypeEnum.IMAGE, params); } else if (UEDITOR_UPLOAD_VIDEO.equals(action)) { fileDTO = uploadSingleForFileDTO(null, file, UploadTypeEnum.VIDEO, params); - downloadFile = "false"; + downloadFile = "true"; } else if (UEDITOR_UPLOAD_FILE.equals(action)) { fileDTO = uploadSingleForFileDTO(null, file, UploadTypeEnum.FILE, params); downloadFile = "false"; @@ -312,7 +342,7 @@ public class FileServiceImpl extends AbstractService implements IFileService { if (fileDTO == null) { throw new SystemException("文件上传失败"); } - String fileUrl = String.format("route/file/downloadfile/%s/%s", downloadFile, fileDTO.getFileId()); + String fileUrl = String.format("route/file/downloadfile/%s/%s.%s", downloadFile, fileDTO.getFileId(), fileDTO.getFileType()); JSONObject fileUploadResult = new JSONObject(); fileUploadResult.put("state", "SUCCESS"); fileUploadResult.put("url", fileUrl); @@ -517,7 +547,7 @@ public class FileServiceImpl extends AbstractService implements IFileService { contentType = "image/gif"; break; case "mp4": - contentType = "video/mpeg4"; + contentType = "video/mp4"; break; case "rmvb": contentType = "application/vnd.rn-realmedia-vbr"; diff --git a/cloud-common-plugin/src/main/resources/ueditorconfig.json b/cloud-common-plugin/src/main/resources/ueditorconfig.json index 230cf64..9aeeabd 100644 --- a/cloud-common-plugin/src/main/resources/ueditorconfig.json +++ b/cloud-common-plugin/src/main/resources/ueditorconfig.json @@ -3,7 +3,7 @@ /* 上传图片配置项 */ "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ "imageFieldName": "file", /* 提交的图片表单名称 */ - "imageMaxSize": 10240000000, /* 上传大小限制,单位B */ + "imageMaxSize": 102400000, /* 上传大小限制,单位B */ "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ "imageCompressEnable": true, /* 是否压缩图片,默认是true */ "imageCompressBorder": 1600, /* 图片压缩最长边限制 */