`

Spring MVC 文件上传处理

 
阅读更多

 

1  文件上传需要处理器 

  

   <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <property name="defaultEncoding" value="UTF-8"/>  
        <!-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->  
        <property name="maxUploadSize" value="200000"/>  
    </bean>

 2 上传文件过大异常处理 ,跳转错误页面

  

    <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException -->  
    <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 -->  
    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
        <property name="exceptionMappings">  
            <props>  
                <!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面 -->  
                <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop>  
            </props>  
        </property>  
    </bean> 

 3 上传文件的form 

  

<form action="<%=request.getContextPath()%>/fileUploadTest/upload.anys" method="post" enctype="multipart/form-data">  
    yourfile: <input type="file" name="myfiles"/><br/>  
    yourfile: <input type="file" name="myfiles"/><br/>  
    <input type="submit" value="添加新用户"/>  
</form>

  4 上传的Control处理 

  

@Controller
@RequestMapping("/fileUploadTest")
public class FileUploadTestController
{
	//日志
	public Logger logger = Logger.getLogger( FileUploadTestController.class);
	
	 @RequestMapping(value="/upload.anys", method=RequestMethod.POST)  
	 public String addUser(  @RequestParam MultipartFile[] myfiles, HttpServletRequest request) throws IOException{  
	        //如果只是上传一个文件,则只需要MultipartFile类型接收文件即可,而且无需显式指定@RequestParam注解  
	        //如果想上传多个文件,那么这里就要用MultipartFile[]类型来接收文件,并且还要指定@RequestParam注解  
	        //并且上传多个文件时,前台表单中的所有<input type="file"/>的name都应该是myfiles,否则参数里的myfiles无法获取到所有上传的文件  
	        for(MultipartFile myfile : myfiles){  
	            if(myfile.isEmpty()){  
	                System.out.println("文件未上传");  
	            }else{  
	                System.out.println("文件长度: " + myfile.getSize());  
	                System.out.println("文件类型: " + myfile.getContentType());  
	                System.out.println("文件名称: " + myfile.getName());  
	                System.out.println("文件原名: " + myfile.getOriginalFilename());  
	                System.out.println("========================================");  
	                //如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\WEB-INF\\upload\\文件夹中  
	                String realPath = request.getSession().getServletContext().getRealPath("/WEB-INF/upload");  
	                //这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的  
//	                FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(realPath, myfile.getOriginalFilename()));  
	            }  
	        }  
	        return "redirect:/fileUploadTest/fileuploadTest.jsp";  
	    }
}

 

 

 

 

分享到:
评论

相关推荐

    spring mvc文件上传实现进度条

    总的来说,实现Spring MVC文件上传的进度条功能需要前端和后端的紧密配合。前端负责用户交互和进度信息的显示,后端则需处理分块上传、进度跟踪和异步响应。通过这样的方式,我们可以在不阻塞用户界面的情况下,提供...

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

    6. **优化**:为了提高性能,可以使用异步处理文件上传和下载,利用Spring MVC的AsyncController或者Servlet 3.0的异步处理特性。另外,对于大文件操作,可以考虑分块上传和下载。 7. **实际应用场景**:这些功能...

    Spring MVC文件上传下载

    1. **依赖配置**:在Spring MVC项目中,为了支持文件上传,需要引入Apache Commons FileUpload库,它提供了处理多部分HTTP请求的能力。在`pom.xml`中添加如下依赖: ```xml &lt;groupId&gt;commons-fileupload ...

    spring mvc 文件上传 代码完整版

    在Spring MVC中实现文件上传,首先需要在`web.xml`配置文件中添加MultipartResolver,通常是`CommonsMultipartResolver`,这是Spring MVC处理文件上传的关键组件。它依赖于Apache Commons FileUpload库,需要将其...

    spring mvc上传文件

    首先,我们需要在Spring MVC的配置中启用MultipartResolver,以便处理文件上传。在`web.xml`中,我们需要配置`CommonsMultipartResolver`,如下所示: ```xml &lt;bean id="multipartResolver" class="org.spring...

    Spring MVC文件上传

    在Spring MVC的控制器类中,我们需要定义一个处理文件上传的`@RequestMapping`方法。该方法通常接收一个`MultipartFile`类型的参数,这是Spring MVC为处理上传文件提供的特殊类型。示例代码如下: ```java @...

    Spring MVC 文件上传下载

    Spring MVC 是一个强大的 web 应用开发框架,它提供了丰富的功能来处理用户请求,包括文件上传和下载。本文将深入探讨如何使用 Spring MVC 实现文件的上传与下载。 首先,要实现文件上传,我们需要引入一些必要的...

    spring mvc 附件上传代码

    本文档将详细介绍如何在Spring MVC环境中配置并实现文件上传功能,包括必要的`web.xml`配置、Spring配置文件(如`upload-servlet.xml`)设置及控制器的具体编写。 #### 二、`web.xml`配置详解 `web.xml`文件用于...

    精通Spring MVC 4

    本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...

    spring mvc 上传文件显示进度

    首先,我们需要了解Spring MVC中的MultipartFile接口,这是处理文件上传的核心。当你在表单中使用`&lt;input type="file" /&gt;`时,服务器端的Controller可以通过MultipartFile接收上传的文件。 1. **创建前端界面**: ...

    第五章 Spring MVC 文件上传

    标题 "第五章 Spring MVC 文件上传" 涉及的核心知识点主要围绕Spring MVC框架中的文件上传功能,这是一个在Web开发中常见的需求,特别是处理用户通过表单提交的文件,如图片、文档等。在这个主题下,我们需要理解...

    spring mvc文件上传下载实例

    这篇博客“spring mvc文件上传下载实例”将引导我们如何在Spring MVC项目中实现这两个功能。 首先,我们需要理解Spring MVC的基本概念。Spring MVC是Spring框架的一个模块,它提供了处理HTTP请求并返回响应的能力,...

    spring mvc uploadify上传文件

    为了使Spring MVC能够处理文件上传,需要在配置中添加`MultipartResolver`。在XML配置中,我们可以使用`CommonsMultipartResolver`: ```xml &lt;bean id="multipartResolver" class="org.springframework.web....

    ssm框架--spring mvc实现文件上传

    文件上传是Web应用中的常见需求,Spring MVC提供了便捷的API来处理这一任务。首先,你需要在表单中添加`&lt;input type="file"&gt;`元素,让用户选择要上传的文件。然后,后端控制器需要使用`@RequestParam("文件名") ...

    spring mvc 文件上传

    总结来说,Spring MVC中的文件上传涉及配置`CommonsMultipartResolver`,创建处理文件上传的控制器,以及在前端创建适当的表单元素。通过`MultipartFile`接口,我们可以方便地访问上传文件的信息并将其保存到服务器...

    Spring MVC实现文件的上传下载

    在Spring MVC中,我们可以使用`@RequestParam("file") MultipartFile file`注解来接收上传的文件,其中`MultipartFile`是Spring提供的一个接口,用于处理临时的文件上传。 接下来,我们需要配置一个`...

    spring mvc ajax异步文件的上传和普通文件上传

    在Spring MVC框架中,文件上传是一项常见的功能,无论是普通的文件上传还是通过Ajax实现的异步文件上传,都为用户提供了更好的交互体验。本篇将详细讲解这两种方式的实现原理及步骤。 首先,让我们来理解一下普通...

    文件上传下载(maven + spring mvc + jetty)

    总结来说,"文件上传下载(maven + spring mvc + jetty)"项目是一个使用现代Java Web技术实现的简单示例,展示了如何利用Maven构建、Spring MVC处理HTTP请求和Jetty作为轻量级服务器。通过对这些技术的掌握,开发者...

Global site tag (gtag.js) - Google Analytics