多部分文件上传的时候 parseRequest(RequestContext) 总是报错
今天写代码时候总是出现这样的错误:
The method parseRequest(RequestContext) in the type FileUploadBase is not applicable for the arguments (HttpServletRequest)
DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(MEMORY_THRESHOLD);factory.setRepository(new File(path));ServletFileUpload upload = new ServletFileUpload(factory);upload.setFileSizeMax(MAX_FILE_SIZE);upload.setSizeMax(MAX_REQUEST_SIZE);try {// 解析请求内容提取文件数据List<FileItem> formItems = upload.parseRequest(request);if (formItems != null && formItems.size() > 0) {
在上传文件的时候,接收多部分文件的总是在:
List<FileItem> formItems = upload.parseRequest(request);// 解析请求内容提取文件数据
出现报错,查找了半天,找不到问题所在
最后确定问题是导入的jar的问题
//错误的导入
import org.apache.tomcat.util.http.fileupload.FileItem;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
正确的应该这个:
//正确的导入
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
两个导入很相似,容易出现混淆。
希望对你所有帮助!