`
wu00yu11
  • 浏览: 60293 次
  • 性别: 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"; //返回失败视图
  }
 }
}
分享到:
评论
1 楼 cherry23415 2013-06-26  
乌鱼乌鱼[img][/img]

相关推荐

    IDEA SpringMVC 实现文件的上传下载

    在SpringMVC框架中,实现文件的上传与下载是常见的需求。IntelliJ IDEA作为流行的Java开发集成环境,为开发者提供了高效便捷的开发体验。在这个项目中,我们使用IDEA来构建一个基于SpringMVC的系统,实现了文件的...

    SpringMVC demo 完整源码实例下载.zip

    SpringMVC提供MultipartFile接口处理文件上传,而文件下载则可以通过StreamingResponseBody或者直接返回文件路径实现。这些功能的实现涉及了流处理和响应头设置,确保了文件传输的正确性和效率。 异常处理在Web应用...

    springMVC 上传下载例子

    在`spring-servlet.xml`中,你需要声明`&lt;mvc:annotation-driven&gt;`来启用对注解驱动的控制器的支持,这将自动配置处理上传和下载所需的组件。 2. **上传文件** - **Controller**:在控制器类中,你可以使用`@...

    springMVC 与文件 上传 下载 实例

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

    springMVC图片上传示例

    在本示例中,支持多图上传意味着用户可以一次选择并提交多个图片文件。这需要在HTML表单中使用`&lt;input type="file" multiple&gt;`,允许用户选择多个文件。在后端,我们需要遍历`MultipartFile`集合以处理每个上传的...

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

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

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

    通过上述步骤,我们可以构建一个完整的SpringMVC文件上传系统,不仅支持单个文件的上传,还能处理多文件上传,确保文件上传过程的安全性和可靠性。在实际项目中,根据具体需求,还可以扩展更多功能,如文件预览、...

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

    在SpringMVC框架中,文件的上传和下载是常见的功能需求,主要用于处理用户的数据交互,例如用户上传图片、文档等,或者系统提供文件下载服务。本文将深入探讨如何使用SpringMVC来实现这一功能。 首先,我们需要理解...

    SpringMVC demo 完整源码实例下载

    SpringMVC提供了便捷的文件上传支持,通过`@RequestParam("file") MultipartFile file`注解接收文件,并且可以处理文件的保存和下载操作。这涉及到文件流的读写以及文件存储策略。 异常处理是任何应用程序都需要...

    springmvc框架的文件上传 下载

    在这个项目"springmvc框架的文件上传 下载"中,你可能会遇到如404错误等常见问题,下面将详细介绍SpringMVC中文件上传和下载的实现及其可能遇到的问题。 **文件上传** 1. **配置**: 首先,你需要在`dispatcher-...

    SpringMVC文件上传Demo代码

    首先,我们需要在SpringMVC的配置文件(如`servlet-context.xml`)中启用多部分支持。这通常涉及到注册一个`CommonsMultipartResolver` bean,它是Spring MVC处理文件上传的核心组件: ```xml &lt;!-- 指定最大上传...

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

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

    springMvc单文件多文件上传

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

    SpringMvc 文件上传下载

    在Spring MVC框架中,文件上传和下载是常见的功能需求,特别是在构建Web应用程序时。Spring MVC提供了强大且灵活的工具来处理这些操作。本教程将详细解释如何利用Spring MVC实现文件上传和下载的功能。 首先,我们...

    SpringMVC上传文件 SSH上传文件

    本主题将深入探讨如何使用SpringMVC和SSH(Struts2 + Hibernate + Spring)框架来实现文件的上传与下载。 首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,...

    springmvc 文件上传下载

    在Spring MVC框架中,文件上传和下载是常见的功能需求,特别是在Web应用中处理用户的数据交互。Spring MVC提供了灵活且强大的支持来实现这些操作。本文将详细介绍如何使用Spring MVC 3的注解方式来实现文件上传与...

    SSM整合包 spring+springMVC+Mybatis+bootstarp以及文件上传与下载

    SpringMVC还支持数据绑定、异常处理和国际化等功能,提高了开发效率。 3. **Mybatis框架**:Mybatis是一个持久层框架,它简化了SQL操作,将数据库查询与Java代码紧密结合。通过XML或注解配置,Mybatis可以将SQL语句...

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

    本示例是一个完整的SpringMVC文件上传的Demo,具有实用性,且经过测试有效。下面将详细介绍这个Demo的实现原理和关键知识点。 1. **文件上传组件** SpringMVC利用`CommonsMultipartResolver`来处理文件上传请求。...

    Springmvc中文手册下载

    Spring MVC 提供了处理文件上传和下载的便利功能,支持多文件上传,以及设置文件大小限制。 12. **异步处理** 使用 `@Async` 和 `@EnableAsync` 注解,可以实现 MVC 控制器方法的异步执行,提高应用性能。 13. *...

Global site tag (gtag.js) - Google Analytics