Commit cf7f51a6337fb97525c7fcfb5d6b1afb7e10ac9f
1 parent
4d46f4c1
解决多文件上传Log报错
Showing
1 changed file
with
24 additions
and
0 deletions
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
| 1 | 1 | package com.ruoyi.framework.aspectj; |
| 2 | 2 | |
| 3 | 3 | import java.lang.reflect.Method; |
| 4 | +import java.util.Collection; | |
| 5 | +import java.util.Iterator; | |
| 4 | 6 | import java.util.Map; |
| 5 | 7 | import javax.servlet.http.HttpServletRequest; |
| 6 | 8 | import javax.servlet.http.HttpServletResponse; |
| ... | ... | @@ -212,6 +214,28 @@ public class LogAspect |
| 212 | 214 | */ |
| 213 | 215 | public boolean isFilterObject(final Object o) |
| 214 | 216 | { |
| 217 | + Class<?> clazz = o.getClass(); | |
| 218 | + if (clazz.isArray()) | |
| 219 | + { | |
| 220 | + return clazz.getComponentType().isAssignableFrom(MultipartFile.class); | |
| 221 | + } | |
| 222 | + else if (Collection.class.isAssignableFrom(clazz)) | |
| 223 | + { | |
| 224 | + Collection collection = (Collection) o; | |
| 225 | + for (Iterator iter = collection.iterator(); iter.hasNext();) | |
| 226 | + { | |
| 227 | + return iter.next() instanceof MultipartFile; | |
| 228 | + } | |
| 229 | + } | |
| 230 | + else if (Map.class.isAssignableFrom(clazz)) | |
| 231 | + { | |
| 232 | + Map map = (Map) o; | |
| 233 | + for (Iterator iter = map.entrySet().iterator(); iter.hasNext(); ) | |
| 234 | + { | |
| 235 | + Map.Entry entry = (Map.Entry) iter.next(); | |
| 236 | + return entry.getValue() instanceof MultipartFile; | |
| 237 | + } | |
| 238 | + } | |
| 215 | 239 | return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse; |
| 216 | 240 | } |
| 217 | 241 | } | ... | ... |