|
|
@@ -0,0 +1,52 @@
|
|
|
+package com.finikes.oc.common;
|
|
|
+
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+import org.springframework.web.multipart.MultipartHttpServletRequest;
|
|
|
+import org.springframework.web.multipart.MultipartResolver;
|
|
|
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+public class HttpServletRequestParams {
|
|
|
+ private final Map<String, Class> PARAMS_TYPE = new HashMap<>();
|
|
|
+
|
|
|
+ private final Map<String, Object> PARAMS = new HashMap<>();
|
|
|
+
|
|
|
+ public HttpServletRequestParams(HttpServletRequest request) {
|
|
|
+ //下面这句必须加,不然报错
|
|
|
+ MultipartResolver resolver = new CommonsMultipartResolver(request.getServletContext());
|
|
|
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
|
|
+
|
|
|
+ //获取上传上来的文件
|
|
|
+ Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
|
|
+ for (Map.Entry<String, MultipartFile> entry : fileMap.entrySet()) {
|
|
|
+ MultipartFile file = entry.getValue();
|
|
|
+ String fileName = file.getName();
|
|
|
+ PARAMS_TYPE.put(fileName, file.getClass());
|
|
|
+ PARAMS.put(fileName, file);
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, String[]> params = multipartRequest.getParameterMap();
|
|
|
+ Set<String> keySet = params.keySet();
|
|
|
+ for (String key : keySet) {
|
|
|
+ String value = params.get(key)[0];
|
|
|
+ PARAMS_TYPE.put(key, value.getClass());
|
|
|
+ PARAMS.put(key, value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public Class getParamType(String paramId) {
|
|
|
+ return PARAMS_TYPE.get(paramId);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object getParam(String paramId) {
|
|
|
+ return PARAMS.get(paramId);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Set<String> getParamIds() {
|
|
|
+ return PARAMS.keySet();
|
|
|
+ }
|
|
|
+}
|