From fe4222bca83e5ca46a0ce92f7cc33ba6d2931500 Mon Sep 17 00:00:00 2001 From: liuhanqing <447067298@qq.com> Date: Sun, 17 Jan 2021 14:01:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=90log=E3=80=91=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E6=8E=A5=E5=8F=A3aop=20=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aop/RequestApiLogRecordAop.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/kernel-d-log/log-business-requestapi/src/main/java/cn/stylefeng/roses/kernel/log/modular/requestapi/aop/RequestApiLogRecordAop.java b/kernel-d-log/log-business-requestapi/src/main/java/cn/stylefeng/roses/kernel/log/modular/requestapi/aop/RequestApiLogRecordAop.java index 304a55210..072c19971 100644 --- a/kernel-d-log/log-business-requestapi/src/main/java/cn/stylefeng/roses/kernel/log/modular/requestapi/aop/RequestApiLogRecordAop.java +++ b/kernel-d-log/log-business-requestapi/src/main/java/cn/stylefeng/roses/kernel/log/modular/requestapi/aop/RequestApiLogRecordAop.java @@ -21,6 +21,7 @@ import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.Ordered; import org.springframework.core.ParameterNameDiscoverer; import org.springframework.ui.Model; +import org.springframework.web.multipart.MultipartFile; import java.lang.reflect.Method; import java.util.HashMap; @@ -171,9 +172,11 @@ public class RequestApiLogRecordAop implements Ordered { // 处理基本类型 Class[] classes = new Class[args.length]; for (int k = 0; k < args.length; k++) { - if(args[k] instanceof Model){ + if (args[k] instanceof Model) { classes[k] = Model.class; - }else{ + } else if (args[k] instanceof MultipartFile) { + classes[k] = MultipartFile.class; + } else { classes[k] = args[k].getClass(); } @@ -194,7 +197,14 @@ public class RequestApiLogRecordAop implements Ordered { // 装载参数名称和参数值 for (int i = 0; i < parameterNames.length; i++) { - paramMap.put(parameterNames[i], args[i]); + // 解决上传文件接口aop记录日志报错 + if (args[i] instanceof MultipartFile && args[i]!=null) { + // 根据参数名只记录文件名 + paramMap.put(parameterNames[i], ((MultipartFile) args[i]).getOriginalFilename()); + }else{ + paramMap.put(parameterNames[i], args[i]); + } + } } catch (Exception e) { @@ -203,11 +213,16 @@ public class RequestApiLogRecordAop implements Ordered { if (log.isDebugEnabled()) { e.printStackTrace(); } -// log.error(e.getMessage()); + log.error(e.getMessage()); // 有异常则不显示参数名称直接返回参数 for (int i = 0; i < args.length; i++) { - paramMap.put("args" + i, args[i]); + if (args[i] instanceof MultipartFile && args[i]!=null) { + // 根据参数名只记录文件名 + paramMap.put("args" + i, ((MultipartFile) args[i]).getOriginalFilename()); + }else { + paramMap.put("args" + i, args[i]); + } } } From 0ae5bd4eabb55c6b9f9af09252d2d46bc47f5032 Mon Sep 17 00:00:00 2001 From: liuhanqing <447067298@qq.com> Date: Sun, 17 Jan 2021 14:10:48 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90xss=E3=80=91=E4=BF=AE=E6=94=B9XSS?= =?UTF-8?q?=20=E6=8E=92=E9=99=A4=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/validator/starter/XssFilterAutoConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/XssFilterAutoConfiguration.java b/kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/XssFilterAutoConfiguration.java index 598525792..6db4c903a 100644 --- a/kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/XssFilterAutoConfiguration.java +++ b/kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/XssFilterAutoConfiguration.java @@ -47,7 +47,7 @@ public class XssFilterAutoConfiguration { @Bean public Jackson2ObjectMapperBuilderCustomizer xssJackson2ObjectMapperBuilderCustomizer() { return jacksonObjectMapperBuilder -> - jacksonObjectMapperBuilder.deserializerByType(String.class, new XssJacksonDeserializer(new XssProperties())); + jacksonObjectMapperBuilder.deserializerByType(String.class, new XssJacksonDeserializer(createProperties())); } /** From 5f59450787306c4f3757c5f9e3410e89268a31e7 Mon Sep 17 00:00:00 2001 From: liuhanqing <447067298@qq.com> Date: Sun, 17 Jan 2021 14:11:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E3=80=90file=E3=80=91=E5=AF=8C=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E7=BC=96=E8=BE=91=E5=99=A8tinymce=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysFileInfoController.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java index 48e60d1ba..dabcef0ed 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java @@ -1,5 +1,6 @@ package cn.stylefeng.roses.kernel.file.modular.controller; +import cn.stylefeng.roses.kernel.file.constants.FileConstants; import cn.stylefeng.roses.kernel.file.modular.service.SysFileInfoService; import cn.stylefeng.roses.kernel.file.pojo.request.SysFileInfoRequest; import cn.stylefeng.roses.kernel.file.pojo.response.SysFileInfoResponse; @@ -19,7 +20,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static cn.stylefeng.roses.kernel.file.constants.FileConstants.*; @@ -59,6 +62,25 @@ public class SysFileInfoController { return new SuccessResponseData(fileUploadInfoResult); } + + /** + * 富文本tinymce上传文件 + * 需要返回格式 + * //json格式 + * { "location": "folder/sub-folder/new-location.png" } + * + * @author liuhanqing + * @date 2021/1/17 11:17 + */ + @PostResource(name = "上传文件", path = "/sysFileInfo/tinymceUpload") + public Map tinymceUpload(@RequestPart("file") MultipartFile file, SysFileInfoRequest sysFileInfoRequest) { + Map resultMap = new HashMap<>(1); + sysFileInfoRequest.setSecretFlag(YesOrNotEnum.N.getCode()); + SysFileInfoResponse fileUploadInfoResult = this.sysFileInfoService.uploadFile(file, sysFileInfoRequest); + resultMap.put("location", FileConstants.FILE_PUBLIC_PREVIEW_URL + "?fileId=" + fileUploadInfoResult.getFileId()); + return resultMap; + } + /** * 私有文件预览 *