`

第五章 Spring MVC 文件上传

阅读更多
spring mvc 文件上传:

1、配置

spring-mvc.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

	<!-- 使用注解的包,包括子集 -->
    <context:component-scan base-package="com.fx"/>

    <!-- 视图解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp"></property>
	</bean>
	
	<!-- 文件上传 -->
	<bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		
		<property name="defaultEncoding" value="UTF-8"/>  
	    <property name="maxUploadSize" value="10000000"/>

	</bean>

</beans>




2、添加controller

FileUploadController.java



package com.fx.controller;

import java.io.File;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

/**
 * 控制器
 * @author fx
 *
 */
@Controller
public class FileUploadController {

	/**
	 * 文件上传
	 * @param file1
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping("/upload")
	public String uploadFile(@RequestParam("file1") MultipartFile file1,HttpServletRequest request)throws Exception{
		//获取项目路径
		String filePath=request.getServletContext().getRealPath("/");
		System.out.println(filePath);
		//保存文件
		file1.transferTo(new File(filePath+"upload/"+file1.getOriginalFilename()));
		return "redirect:success.html";
	}
	
	/**
	 * 多文件上传
	 * @param files
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping("/upload2")
	public String uploadFiles(@RequestParam("file") MultipartFile[] files,HttpServletRequest request)throws Exception{
		//获取项目路径
		String filePath=request.getServletContext().getRealPath("/");
		System.out.println(filePath);
		//遍历文件列表
		for(MultipartFile file:files){
			//保存文件
			file.transferTo(new File(filePath+"upload/"+file.getOriginalFilename()));			
		}
		return "redirect:success.html";
	}
}





3、配置web.xml

web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>SpringMvc04</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>

	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
</web-app>




4、添加jar

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

分享到:
评论

相关推荐

    spring mvc 上传文件显示进度

    在Spring MVC中实现文件上传并显示进度是一项常见的需求,特别是在用户需要等待较长时间的大型文件上传时。这个功能可以通过监听文件上传的进度并在前端实时更新来提升用户体验。下面将详细介绍如何利用Spring MVC...

    SpringMVCDemo:Spring MVC 框架知识案例

    1.创建第一个 Spring MVC 程序案例 2.Spring MVC @RequestMapping 注解案例 3.Spring MVC 请求参数的获取案例 ...13.Spring MVC 文件的上传与下载案例 14.Spring MVC 拦截器案例 15.Spring MVC 异常处理案例

    Spring MVC大文件的断点续传(File Transfer Resume)

    在IT行业中,Spring MVC是一个广泛使用的Java Web框架,它提供了构建高效、模块化且易于维护的Web应用程序的强大工具。在处理大文件传输时,尤其...通过这种方式,开发者可以提供更高效、更友好的文件上传和下载服务。

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

    在Spring MVC框架中,文件上传是一项常见的功能,但同时也需要考虑一些安全性与性能的问题,比如文件大小限制和文件类型检查。本篇文章将深入探讨如何在Spring MVC中设置这些限制,并解决超大文件上传可能导致的bug...

    ajaxupload在spring mvc4.2中实现简单文件上传

    在Spring MVC 4.2框架中实现AjaxUpload(异步文件上传)是一个常见的需求,它允许用户在不刷新整个页面的情况下进行文件上传,提供更好的用户体验。以下是对这一主题的详细阐述: 1. **AjaxUpload简介**: Ajax...

    spring mvc案例+配置+原理详解+架包

    4. **文件上传下载**:处理文件上传和下载功能。 5. **国际化**:实现多语言支持,根据不同用户和地区提供不同语言的界面。 通过学习这个压缩包中的案例,你可以逐步掌握Spring MVC的使用,了解其配置细节,进一步...

    spring MVC uploadify

    在Spring MVC中,处理文件上传是一项常见的任务,尤其在需要用户交互上传图片或文档的场景下。`multipartResolver`是Spring MVC中处理多部分(multipart)HTTP请求的关键组件,它允许用户上传文件作为请求的一部分。...

    Spring MVC学习指南 第2版 高清版

    全书共包括13章和5个附录,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、转换器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件以及应用测试等多个角度介绍...

    Spring MVC配置文档及原理介绍

    Spring MVC架构的特点在于其插拔式的特性,这意味着开发者可以选择内置的Spring Web框架或是像Struts这样的第三方Web框架。此外,Spring MVC支持多种视图技术,如JavaServer Pages (JSP)、Velocity模板引擎、Tiles...

    spring MVC必备jar包

    5. **Spring Web**: `spring-web.jar` 提供了HTTP和Servlet相关的功能,如WebSocket支持、上传下载文件、URL映射等。它是Spring MVC与Web应用服务器交互的基础。 6. **Spring Web MVC**: `spring-webmvc.jar` 是...

    第三部分、Spring MVC简介与基本配置.rar

    在实际的Java Web开发中,Spring MVC提供了丰富的功能,如文件上传、日期时间格式化、数据校验等。在大型商业ERP项目中,Spring MVC可以帮助开发者构建高效、可扩展的后端系统。 **教程大纲** 根据"教程大纲.txt...

    spring5mvc第二天【大纲笔记】.zip

    在本课程的"spring5mvc第二天【大纲笔记】"中,我们将深入探讨 Spring MVC 的核心概念和关键功能,包括响应数据和结果视图的处理、文件上传、异常处理以及拦截器的使用。以下是对这些主题的详细解释: 1. 响应数据...

    《精通Spring MVC 4 Geoffroy Warin》 PDF

    13. **Multipart Support**:处理文件上传,Spring MVC内置了对multipart请求的支持。 14. **RESTful Web Services**:Spring MVC也支持构建RESTful服务,利用HTTP方法(GET、POST、PUT、DELETE等)来暴露资源。 ...

    J2EE spring mvc mybatis bootstrap HTML5 后台框架 控制台 mysql版本_spring3.0

    【源码】mysql版本_spring3.0 系统模块 1....服务器内部GET POST 请求 25.uploadify 上传插件,单条、批量上传,带进度条,异步,图片、视频, 其它文件格式均可上传 26.地图选点获取经纬度坐标,根据俩经纬度计算距离

    Spring MVC

    Spring MVC 提供了处理文件上传和下载的功能,通过 `MultipartFile` 类型的参数接收上传文件,使用 `ResponseEntity` 或 `StreamingResponseBody` 实现文件下载。 ### 8. RESTful 风格的 Web 服务 Spring MVC 支持...

    spring mvc 例子

    - 使用 MultipartFile 处理文件上传,配合 CommonsMultipartResolver 解析器。 - 文件下载可通过 StreamingResponseBody 实现流式响应。 9. **国际化的支持** - 使用 LocaleResolver 和 MessageSource 支持多...

Global site tag (gtag.js) - Google Analytics