utf-8编号,如果是其他编码的请自行替换里面的编码
import java.io.File;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;/** * 上传文件接收工具 依赖 commons-fileupload commons-io * * @author thj * */public class UpLoadFileReceiveUtils { private static final int MAX_FILE_SIZE = 1024 * 1024 * 40; // 40MB 设置最大文件上传值 private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 50; // 50MB // 设置最大请求值 // (包含文件和表单数据) /** * 接收文件,返回文件地址 如果没接收成功,则返回null * files 上传的文件的集合【 * 返回值包括 fileType 文件类型(暂不提供) fileSuffer * 文件后缀(暂不提供) fileOldName 原文件名 fileTemAddr 临时文件的地址 fileTemContent 临时文件内容 * fileFieldName 上传文件时的字段名 fileSize 文件大小】 * params 上传的参数集合 * * @param request * @return */ public static MapreceiveFile(HttpServletRequest request) { // 检测是否为多媒体上传 if (!ServletFileUpload.isMultipartContent(request)) { // 如果不是则停止 return null; } try { // 配置上传参数 DiskFileItemFactory factory = new DiskFileItemFactory(); // 设置内存临界值 - 超过后将产生临时文件并存储于临时目录中 默认起用临时保存文件 factory.setSizeThreshold(0); // 设置临时存储目录 factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // 设置最大文件上传值 upload.setFileSizeMax(MAX_FILE_SIZE); // 设置最大请求值 (包含文件和表单数据) upload.setSizeMax(MAX_REQUEST_SIZE); // 中文处理 upload.setHeaderEncoding("UTF-8"); // 解析请求的内容提取文件数据 List formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { // 迭代表单数据 Map reMap = new HashMap<>(); List