`
angelbill3
  • 浏览: 255595 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

【问题】使用Spring mvc上传文件时遇到的问题(CommonsMultipartResolver的配置)

 
阅读更多
框架:SPRING MVC
上传控件:swfupload

后台部分代码:
@RequestMapping(value = "upload")  
private String upload(HttpServletRequest request, HttpServletResponse response) throws Exception{
    //执行下面一句报错
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;  
    CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("Filedata");
    //略
}


在执行方法的第一句代码时抛错:org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest

查了下资料发现,在spring配置文件里少了对multipart解析器的配置,如下:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="104857600"/>
    <property name="maxInMemorySize" value="4096"/>
</bean>


问题解决。

------------------------
解释:
MultipartHttpServletRequest是Spring mvc提供的一个上传组件,可以在配置文件中配置,也可以用注解实现。
之所以出现上述问题,是因为在没有配置bean的情况下,request未被CommonsMultipartResolver处理。

-----------------
另提:上传时记得加common-fileupload、io的jar包。
分享到:
评论

相关推荐

    Spring MVC 文件上传下载 后端 - Java.zip

    在Spring MVC框架中,文件上传和下载是常见的功能需求,特别是在构建Web应用程序时。这个压缩包文件"Spring MVC 文件上传下载 后端 - Java.zip"包含的文档可能详细阐述了如何在Java后端实现这些功能。以下是关于...

    第五章 Spring MVC 文件上传

    在Spring MVC中,文件上传功能是常见的需求,特别是在处理用户上传图片、文档等数据时。本章将深入探讨如何在Spring MVC中实现文件上传,以及相关的源码分析和工具使用。 在Spring MVC中实现文件上传,我们需要依赖...

    Spring MVC文件上传大小和类型限制以及超大文件上传bug问题

    在Spring MVC的配置文件(如`springmvc-config.xml`)中,我们可以通过配置`CommonsMultipartResolver`来设定文件的最大上传尺寸。以下是一个示例配置: ```xml &lt;bean id="multipartResolver" class="org.spring...

    springmvc01.zip_DEMO_JSON校验_spring mvc

    Spring MVC提供了`CommonsMultipartResolver`解析器来处理文件上传,需要在配置中启用它。此外,你还需要配置文件存储的位置或者策略,例如临时目录、固定路径或者云存储服务。 **3. 返回JSON数据** Spring MVC通过...

    spring 文件上传jar包

    这个“spring 文件上传jar包”集合可能包含了处理文件上传所必需的各种依赖库,这些库能够帮助开发者轻松地在Spring MVC应用中实现文件上传的功能。下面我们将深入探讨Spring框架中的文件上传以及相关的知识点。 1....

    upload spring mvc

    Spring MVC上传原理 Spring MVC提供了`CommonsMultipartResolver`解析器来处理multipart类型的请求,这是HTTP协议中用于文件上传的标准。当用户在表单中包含`&lt;input type="file"&gt;`字段时,浏览器会将数据封装成...

    struts+spring文件上传大小限制.rar

    总结,"struts+spring文件上传大小限制.rar"的内容可能包含了如何在Struts和Spring框架下设置文件上传大小限制的示例代码或配置文件,帮助开发者解决在实际项目中遇到的此类问题。理解并掌握这些知识对于开发安全、...

    springmvc文件上传练习项目

    本项目"springmvc文件上传练习项目"旨在提供一个实践平台,帮助开发者掌握如何使用Spring MVC处理Multipart类型的请求,实现文件和图片的上传。下面我们将深入探讨相关知识点。 1. **MultipartHttpServletRequest...

    springMVC多文件上传demo

    在处理多文件上传时,可能遇到文件过大、文件类型不合法等问题,需要在代码中添加适当的异常处理机制。 8. **前端界面** 前端页面通常使用HTML5的`FormData`对象来构建上传请求。可以使用JavaScript库如jQuery、...

    https+spring3+httpclient4多文件上传

    同时,需要配置Spring的`CommonsMultipartResolver`解析器以启用文件上传功能。 4. **Apache HttpClient4**: HttpClient是Apache HTTP组件的一部分,用于执行HTTP请求。它提供了一个强大的API,可以定制请求头、...

    Spring完整的上传下载源代码

    4. **CommonsMultipartResolver配置**:为了处理MultipartFile,Spring MVC需要配置一个解析器,如Apache Commons FileUpload的CommonsMultipartResolver。这会在DispatcherServlet中解析多部分请求。 5. **文件...

    spingMVC文件上传源码案例

    在处理文件上传时,可能遇到文件过大、类型不匹配等问题,我们需要捕获并处理这些异常。例如,检查文件大小: ```java if (file.getSize() &gt; 10485760) { // 10MB throw new RuntimeException("文件过大,不能...

    SpringMVC文件上传

    在Spring MVC框架中,文件上传是一项常见的功能,它允许用户通过Web应用程序上传本地文件到服务器。这个案例描述了一个已经测试通过的Spring MVC文件上传实践,非常适合初学者作为学习的起点。接下来,我们将深入...

    springmvc 文件上传

    1. **配置Spring MVC**:在Spring MVC的配置文件(如`dispatcher-servlet.xml`)中,我们需要启用`CommonsMultipartResolver`作为默认的多部分解析器。这可以通过添加以下配置实现: ```xml ...

    springMVC导入EXCEL

    在Java开发中,Spring MVC是一个广泛使用的Web框架,它提供了强大的功能来处理各种类型的请求,包括文件上传。本文将深入探讨如何使用Spring MVC实现Excel文件的导入功能。 首先,我们需要理解Spring MVC处理文件...

    springmvc简单的数据上传

    6. **异常处理**:在处理文件上传时,可能会遇到一些问题,比如文件过大、格式不正确等。为此,需要捕获并处理`MultipartException`和其他可能的异常。 现在,让我们参考给定的链接...

    SpringMVC03_fielupload.zip

    在文件上传过程中可能会遇到各种问题,比如文件过大、文件类型不匹配等。因此,我们需要添加异常处理机制,捕获并处理这些异常,向用户返回友好的错误信息。 6. **安全考虑** 为了防止恶意文件上传,应限制上传...

    SpringMVC+multipart

    5. **错误处理**:文件上传可能遇到各种问题,如文件过大、文件类型不匹配等。你应该捕获并处理这些异常,提供合适的反馈给用户。 6. **安全考虑**:确保对上传的文件进行安全检查,防止恶意文件(如病毒或脚本文件...

    java实现文件批量上传

    1. **设置请求解析器**:在Servlet或Controller中,配置文件上传解析器,如`CommonsMultipartResolver`(Spring)或自定义实现。 2. **处理请求**:在`doPost`方法(对于Servlet)或`@PostMapping`注解的方法(对于...

Global site tag (gtag.js) - Google Analytics