`
wu00yu11
  • 浏览: 60297 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springMVC支持文件上传(转)

阅读更多
spring mvc 支持web应用程序的文件上传功能,是由spring内置的即插即用的MultipartResolver来实现的,这些解析器都定义在org.springframework.web.multipart包里。下面将使用CommonsMultipartResolver解析器来实现简单的文件上传功能。

    在web应用程序上下文配置文件中(我的配置文件名为 /WEB-INF/config/app-config.xml)定义如下:

 <bean id="multipartResolver"
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 以字节为单位的最大上传文件的大小 -->
  <property name="maxUploadSize" value="100000" />
 </bean>

    加入两个依赖的jar包(spring官网可以下载到对应版本的常用依赖jar包):

    com.springsource.org.apache.commons.io-1.4.0.jar
    com.springsource.org.apache.commons.fileupload-1.2.0.jar

    创建一个HTML表单:

 <body>
  <h1>
   Spring MVC 3.0 文件上传测试
  </h1>   //action里的html是后缀名,不是HTML文件,用于spring对请求进行拦截判断
  <form. method="post" action="upload.html" enctype="multipart/form-data">
   <input type="text" name="name" />
   <input type="file" name="file" />
   <input type="submit" />
  </form>
 </body>

    创建一个controller(控制器)来处理文件上传请求,FileUploadController.java:

@Controller //声明该类为控制器类
public class FileUploadController implements ServletContextAware{ //实现ServletContextAware接口,获取本地路径

 private ServletContext servletContext;

 public void setServletContext(ServletContext servletContext) { //实现接口中的setServletContext方法
  this.servletContext = servletContext;
 }

 @RequestMapping(value = "/upload", method = RequestMethod.POST) //将文件上传请求映射到该方法
 public String handleFormUpload(@RequestParam("name") String name, //设置请求参数的名称和类型
   @RequestParam("file") CommonsMultipartFile mFile) { //请求参数一定要与form中的参数名对应
  if (!mFile.isEmpty()) {
   String path = this.servletContext.getRealPath("/tmp/");  //获取本地存储路径
   File file = new File(path + new Date().getTime() + ".jpg"); //新建一个文件
   try {
    mFile.getFileItem().write(file); //将上传的文件写入新建的文件中
   } catch (Exception e) {
    e.printStackTrace();
   }
   
   return "redirect:uploadSuccess"; //返回成功视图
  }else {
   return "redirect:uploadFailure"; //返回失败视图
  }
 }
}
分享到:
评论

相关推荐

    springMvc单文件多文件上传

    springMvc 文件上传,springMvc 支持单文件和多文件上传,

    SpringMVC文件上传,多文件上传实例

    3. **配置SpringMVC以支持文件上传**: 在SpringMVC的配置文件中,我们需要添加`CommonsMultipartResolver`作为默认的`MultipartResolver`,这允许Spring处理`multipart/form-data`类型的请求。同时,我们需要配置...

    IDEA SpringMVC 实现文件的上传下载

    在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Spring提供的一个解析多部分请求的组件。在配置文件中,我们需要添加如下配置启用文件上传: ```xml &lt;!-- 指定最大上传文件大小 --&gt; ...

    基于springMVC的文件上传功能

    在HTML页面(通常使用JSP或Thymeleaf)上创建一个表单,设置enctype="multipart/form-data"以支持文件上传。使用标签和元素来让用户选择要上传的文件。 ```html ``` 5. **文件存储** 在`...

    JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告.docx

    接下来,我们需要配置SpringMVC的`DispatcherServlet`,以支持文件上传。在`spring-mvc.xml`或对应的配置类中,需要添加以下内容: ```xml &lt;!-- 指定单个文件的最大大小 --&gt; ...

    SpringMVC上传文件 SSH上传文件

    首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,使得处理HTTP请求变得更加方便。在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Spring...

    springmvc实现文件上传jar包

    4. **前端页面**:创建一个HTML表单,使用`enctype="multipart/form-data"`来支持文件上传。通过`&lt;input type="file"&gt;`标签让用户选择要上传的文件。然后使用AJAX或者传统的HTTP提交方式向后端发送请求。 5. **处理...

    SpringMVC文件上传Demo代码

    在SpringMVC中实现文件上传是一项常见的任务,它允许用户通过表单将本地文件发送到服务器进行存储或处理。这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们...

    SpringMVC中文件(图片)上传和Json支持需要的相关jar包

    总的来说,`SpringMVC`中的文件上传和JSON支持涉及到多个库和组件的协同工作。理解它们的用途和配置方法是开发中必不可少的知识点。正确地引入和配置这些jar包,可以让你在SpringMVC项目中顺利地实现文件上传和JSON...

    springMVC上传文件.zip_springmvc_上传文件_文件上传

    文件上传过程中可能会出现各种问题,例如文件过大、文件类型不受支持等。因此,需要捕获并处理`MultipartException`及其子类,向用户返回错误信息。 7. **配置** 在SpringMVC的配置中,需要启用MultipartResolver...

    SpringMVC上传文件的四种方法

    首先,在前端页面创建一个`&lt;form&gt;`表单,设置`enctype="multipart/form-data"`以支持文件上传。然后,在后端Controller中定义一个方法,接收`MultipartFile`类型的参数。例如: ```java @PostMapping("/upload") ...

    springMVC文件上传demo(亲测有效)

    在HTML页面中,创建一个`&lt;form&gt;`元素,并设置`enctype="multipart/form-data"`,表示这是一个支持文件上传的表单。此外,使用`&lt;input type="file"&gt;`标签来让用户选择要上传的文件。 4. **控制器处理** 在...

    SpringMVC 实现文件上传下载、国际化等

    本教程将深入讲解如何利用SpringMVC实现文件上传和下载功能,以及如何实现应用的国际化。下面我们将详细探讨这些知识点。 **一、SpringMVC文件上传** 在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver...

    springmvc ajax 文件上传下载文件 multiple

    - 配置Spring MVC的`CommonsMultipartResolver`解析器以支持文件上传,需要在`web.xml`或Spring配置文件中添加相关配置。 2. **Ajax文件上传**: - 使用jQuery的`$.ajax()`或`$.formData()`方法,可以发送异步...

    SpringMVC实现文件上传下载

    1. **配置MultipartResolver**:SpringMVC默认不支持文件上传,我们需要添加`CommonsMultipartResolver`作为解析器。在`web.xml`中配置`DispatcherServlet`时,添加`multipart-config`元素设置最大上传文件大小。...

    springMVC 与文件 上传 下载 实例

    总的来说,Spring MVC提供了处理文件上传和下载的强大支持,结合Java内置的压缩功能,我们可以轻松地实现文件上传、下载和压缩功能。在实际项目中,需要注意文件安全、性能优化以及异常处理等问题,以确保服务的稳定...

    SpringMVC-11 文件上传

    前端页面需要使用`enctype="multipart/form-data"`来支持文件上传。以下是一个简单的HTML表单示例: ```html 上传文件 ``` 用户选择文件后,点击提交按钮,浏览器会发送multipart/form-data请求到服务器。 *...

    springmvc框架的文件上传 下载

    2. **表单**: 创建一个HTML表单,设置`enctype="multipart/form-data"`以支持文件上传。 ```html 上传"/&gt; ``` 3. **控制器**: 在SpringMVC的Controller中,使用`@RequestParam("file") MultipartFile file`...

    SpringMVC框架实现文件的上传和下载

    在SpringMVC的配置文件中,我们需要启用多部分文件上传的支持,添加以下代码到`&lt;mvc:annotation-driven&gt;`标签内: ```xml &lt;!-- 设置上传文件的最大大小 --&gt; ...

    SpringMVC之表单提交===③===多文件上传表单

    总结来说,Spring MVC提供了便利的多文件上传支持,通过`CommonsMultipartResolver`解析multipart请求,并通过Controller处理文件上传。开发者需要关注文件安全、异常处理以及依赖管理,确保功能的稳定和安全。通过...

Global site tag (gtag.js) - Google Analytics