private Param createParam(Map<String, String> headers) { Param param = null; String paramName = headers.get(PARAM_NAME); if (paramName != null) { if (headers.containsKey(PARAM_FILENAME)) { FileParam fp = new FileParam(paramName); this.keys.add(paramName); if (createTempFiles) { fp.createTempFile(tempFilesDirectory); } fp.setContentType(headers.get(PARAM_CONTENT_TYPE)); fp.setFilename(decodeFileName(headers.get(PARAM_FILENAME))); param = fp; } else { if (parameters.containsKey(paramName)) { param = parameters.get(paramName); } else { param = new ValueParam(paramName, encoding); } } if (!parameters.containsKey(paramName)) { parameters.put(paramName, param); } } return param; }
/** * 获取 上传文件 映射 * * @return */ public Map<String, List<FileParam>> getFileMap() { Map<String, List<FileParam>> fileMap = new HashMap<String, List<FileParam>>(0); if (MapUtils.isNotEmpty(fileMap)) { for (FileParam fileParam : fileParamList) { String fieldName = fileParam.getFieldName(); List<FileParam> fileParams; if (fileMap.containsKey(fieldName)) { fileParams = fileMap.get(fieldName); } else { fileParams = new ArrayList<FileParam>(0); } fileParams.add(fileParam); fileMap.put(fieldName, fileParams); } } return fileMap; }
public void cancel() { this.canceled = true; if (parameters != null) { Iterator<Param> it = parameters.values().iterator(); while (it.hasNext()) { Param p = it.next(); if (p instanceof FileParam) { ((FileParam) p).deleteFile(); } } } }