java - Spring 上传文件

标签 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.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)

最佳答案

Spring 的文件上传功能使用 Apache Commons FileUpload在幕后。您需要下载它并将其包含在您的应用程序中。反过来,这也需要 Apache Commons IO ,所以你也需要它。

关于java - Spring 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3061940/

相关文章:

javascript - 如何将 GET 请求转换为 POST

java - AJAX(原型(prototype)/java)在执行期间获取部分状态更新

java - 如何使用hibernate在spring boot中实现分页

java - 在注释中注入(inject)值

java - 类文件 javax/validation/ConstraintViolationException 中非 native 或抽象方法中缺少代码属性

java - Spring MVC :Multi language support

java - 不幸的是,Android Studio 应用已停止

Java游戏无法运行

css - Thymeleaf + Spring-Boot - 为什么我不能访问静态资源?

java.lang.ClassNotFoundException : org. springframework.web.servlet.DispatcherServlet [/SpringmvcDemo] 抛出 load() 异常