作者 葛瑞士

解决多文件上传Log报错

1 package com.ruoyi.framework.aspectj; 1 package com.ruoyi.framework.aspectj;
2 2
3 import java.lang.reflect.Method; 3 import java.lang.reflect.Method;
  4 +import java.util.Collection;
  5 +import java.util.Iterator;
4 import java.util.Map; 6 import java.util.Map;
5 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse; 8 import javax.servlet.http.HttpServletResponse;
@@ -212,6 +214,28 @@ public class LogAspect @@ -212,6 +214,28 @@ public class LogAspect
212 */ 214 */
213 public boolean isFilterObject(final Object o) 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 return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse; 239 return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse;
216 } 240 }
217 } 241 }