Java Spring上传文件

Java Spring上传文件,java,spring,spring-mvc,file-upload,Java,Spring,Spring Mvc,File Upload,我是Spring的新手,我开始开发一个上传文件的应用程序,我使用了Spring的官方文档,但是,我有一个错误: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream at org.springframework.web.servlet.DispatcherServlet.doDispa

我是Spring的新手,我开始开发一个上传文件的应用程序,我使用了Spring的官方文档,但是,我有一个错误:

Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:823) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:143) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:191) at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:350) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:155) at org.springframework.web.multipart.commons.CommonsMultipartResolver.resolveMultipart(CommonsMultipartResolver.java:138) at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:907) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:750) 处理程序处理失败;嵌套的异常是java.lang.NoClassDefFoundError:org/apache/commons/io/output/DeferredFileOutputStream 位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:823) 位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 位于org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:143) 位于org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 位于org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 运行(Thread.java:619) 原因:java.lang.NoClassDefFoundError:org/apache/commons/io/output/DeferredFileOutputStream 位于org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:191) 位于org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:350) 位于org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) 位于org.springframework.web.multipart.commons.commonmultipartresolver.parseRequest(commonmultipartresolver.java:155) 位于org.springframework.web.multipart.commons.commonmultipartresolver.resolveMultipart(commonmultipartresolver.java:138) 位于org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:907) 位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:750)
Spring的文件上传工具在封面下使用。你需要下载并将其包含在你的应用程序中。这反过来也需要,所以你我也需要。

你没有添加jar的“公共文件上传”或“文件io”,或者添加了较旧的jar版本

文件上传的好例子是

多谢各位 乌梅什苏哈利亚