SpringMVC_文件上传

朱雀 2022-05-18 09:34 423阅读 0赞

一、文件上传

1、说明

  • SpringMVC为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:CommonsMultipartResovler
  • SpringMVC 上下文中默认没有装配 MultipartResolver ,因此默认情况下不能处理文件上传工作,如果想使用 Spring 的文件上传功能,需先在上下文中配置 MultipartResolver 。

2、配置 MultipartResolver

defaultEncoding:必须和用户 JSP 的pageEncoding 属性一致,以便正确的解析表单的内容。

为了让 CommonsMultipartResovler 正确工作,必须将 Jakarta Commons FileUpload 及 Jakarta Commons io
的类包添加到类路径下。

配置依赖:

  1. <dependency>
  2. <groupId>commons-fileupload</groupId>
  3. <artifactId>commons-fileupload</artifactId>
  4. <version>1.3.1</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>commons-io</groupId>
  8. <artifactId>commons-io</artifactId>
  9. <version>2.4</version>
  10. </dependency>

配置文件:

  1. <!--配置MultipartResolver -->
  2. <!--上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes -->
  3. <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  4. <property name="defaultEncoding" value="UTF-8"/>
  5. <property name="maxUploadSize" value="10485760"/>
  6. </bean>

方法:

  1. @RequestMapping(value = "/testFileUpload")
  2. public Object testFileUpload(@RequestParam(value = "desc") String desc,
  3. @RequestParam("file") MultipartFile file ) throws IOException {
  4. System.out.println(desc +":"+ file.getOriginalFilename());
  5. System.out.println(file.getInputStream());
  6. return "success";
  7. }
  8. <form action="/testFileUpload" method="post" enctype="multipart/form-data">
  9. File:<input type="file" name="file">
  10. <br>
  11. Desc:<input type="text" name="desc">
  12. <input type="submit" value="submit">
  13. </form>

发表评论

表情:
评论列表 (有 0 条评论,423人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringMVC文件

    文件上传自然是一个网站必不可少的元素之一,SpringMVC这个网站编程框架自然也有这个东西,下一面举一个例子说明这个问题。 如下图所示,一个简单的上传控件,只让上传bmp、

    相关 SpringMVC_文件

    一、文件上传 1、说明 SpringMVC为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring用 Jak