@Override public Iterator<String> getFileNames() { RequestParameterMap requestParameterMap = getRequestParameterMap(); List<String> names = new ArrayList<>(requestParameterMap.size()); for (Entry<String, RequestParameter[]> entry : requestParameterMap.entrySet()) { RequestParameter[] params = entry.getValue(); if (params != null && params.length > 0 && !params[0].isFormField()) { names.add(entry.getKey()); } } return names.iterator(); }
@Override public Map<String, MultipartFile> getFileMap() { RequestParameterMap requestParameterMap = getRequestParameterMap(); Map<String, MultipartFile> files = new HashMap<>(requestParameterMap.size()); for (Entry<String, RequestParameter[]> entry : requestParameterMap.entrySet()) { RequestParameter[] params = entry.getValue(); if (params != null && params.length > 0) { for (RequestParameter parameter : params) { if (!parameter.isFormField()) { files.put(entry.getKey(), new SlingMultipartFile(entry.getKey(), parameter)); } } } } return files; }
@Override public MultiValueMap<String, MultipartFile> getMultiFileMap() { RequestParameterMap requestParameterMap = getRequestParameterMap(); MultiValueMap<String, MultipartFile> fileMap = new LinkedMultiValueMap<>( requestParameterMap.size()); for (Entry<String, RequestParameter[]> entry : requestParameterMap.entrySet()) { RequestParameter[] params = entry.getValue(); if (params != null && params.length > 0) { List<MultipartFile> files = new ArrayList<>(params.length); for (RequestParameter parameter : params) { if (!parameter.isFormField()) { files.add(new SlingMultipartFile(entry.getKey(), parameter)); } } if (!files.isEmpty()) { fileMap.put(entry.getKey(), files); } } } return fileMap; }