!18 处理文件类型上传导致日志收集失败: I5SYLB
Merge pull request !18 from mlzhang/cherry-pick-1664048747
This commit is contained in:
commit
909b4f03a0
|
|
@ -13,4 +13,10 @@ public @interface Log {
|
|||
*/
|
||||
String title() default "";
|
||||
|
||||
/**
|
||||
* 模块
|
||||
* @return String
|
||||
*/
|
||||
RequestType requestType() default RequestType.Default;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,12 +16,18 @@ import org.aspectj.lang.reflect.MethodSignature;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@Aspect
|
||||
@Component
|
||||
|
|
@ -96,9 +102,24 @@ public class LogAspect {
|
|||
String queryString = request.getQueryString();
|
||||
Object[] args = joinPoint.getArgs();
|
||||
String params = "";
|
||||
if(args.length>0){
|
||||
if (args.length > 0) {
|
||||
if("POST".equals(request.getMethod())){
|
||||
params = JSON.toJSONString(args);
|
||||
if (RequestType.File.equals(logAnnotation.requestType())){
|
||||
//文件类型获取文件名称作为参数
|
||||
StandardMultipartHttpServletRequest standardMultipartHttpServletRequest = (StandardMultipartHttpServletRequest) args[0];
|
||||
//提取文件名
|
||||
params = standardMultipartHttpServletRequest
|
||||
.getMultiFileMap()
|
||||
.values()
|
||||
.stream()
|
||||
.map(m -> m.stream()
|
||||
.map(mf-> mf.getOriginalFilename())
|
||||
.collect(Collectors.joining(",")))
|
||||
.collect(Collectors.joining(","));
|
||||
} else {
|
||||
params = JSON.toJSONString(args);
|
||||
}
|
||||
|
||||
} else if("GET".equals(request.getMethod())){
|
||||
params = queryString;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package com.mdd.admin.config.aop;
|
||||
|
||||
/**
|
||||
* 请求参数类
|
||||
*/
|
||||
public enum RequestType {
|
||||
/**
|
||||
* 文件类型
|
||||
*/
|
||||
File,
|
||||
/**
|
||||
* 默认数据类型
|
||||
*/
|
||||
Default
|
||||
;
|
||||
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ package com.mdd.admin.controller.common;
|
|||
|
||||
import com.mdd.admin.LikeAdminThreadLocal;
|
||||
import com.mdd.admin.config.aop.Log;
|
||||
import com.mdd.admin.config.aop.RequestType;
|
||||
import com.mdd.admin.service.common.IAlbumService;
|
||||
import com.mdd.common.core.AjaxResult;
|
||||
import com.mdd.common.enums.AlbumEnum;
|
||||
|
|
@ -36,7 +37,7 @@ public class UploadController {
|
|||
* @param request 请求对象
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "上传图片")
|
||||
@Log(title = "上传图片", requestType = RequestType.File)
|
||||
@PostMapping("/image")
|
||||
public Object image(HttpServletRequest request) {
|
||||
MultipartFile multipartFile;
|
||||
|
|
|
|||
Loading…
Reference in New Issue