Spring MVC文件上传领悟

一,问题

同样是表单提交,而文件不是明文,是二进制数据,怎么可以上传呢,spring mvc到底做了什么呢,今天我们就来探讨下

二,解决方案

首先我要说的是spring mvc的核心控制器 DispachServlet,这个控制器主要是用来起调度作用,他里面默认就带了一个文件上传的视图解析器,叫 multipartResolver,而这个视图解析器Spring MVC又提供了一个默认的实现,叫 CommonMultipartResolver,说白了这个实现底层用的就是 common-fileupload,所以在你的WEB环境下就有了 common-fileupload的依赖。

那如果是我们手动来配置,如何配置呢?

第一步,首先在我们的核心控制器加载的上下文文件中,加上如下解析器

注意,这个解析器有如下四个属性可以设置,大家可以按需设置

defaultEncoding:表示请求的默认编码,当没有指定的时候根据Servlet规范会使用默认值ISO-8859-1

uploadTempDir:设置上传文件时的临时目录,默认是Servlet容器的临时目录

maxUploadSize:设置允许上传的最大文件大小,以字节为单位,-1表示没有限制

maxInMemorySize:设置在文件上传时允许写到内存中的最大值,以字节为单位计算,默认是10240

第二步,在我们视图层,为表单设置 enctype="multipart/form-data"(必须这样设置)

第三步,就是我们的控制器Controller如何接收了,我们可以使用3.x的新特性,注解

时间: 2024-08-05 20:07:21

Spring MVC文件上传领悟的相关文章

Spring MVC文件上传出现错误:Required MultipartFile parameter 'file' is not present

1.配置文件上传的解析器 首先需要在spring mvc的配置文件中(注意是spring mvc的配置文件而不是spring的配置文件:applicationContext.xml)配置: springmvc-config.xml <!-- 文件上传bean--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartReso

spring mvc文件上传方法

spring mvc上传功能很强大. spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype="multipart/form-data" 这个是上传文件必须的2.applicationContext.xml中 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolv

Spring mvc 文件上传到文件夹(转载+心得)

spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少 applicationContext.xml

spring mvc文件上传

1.配置spring mvc配置文件 <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" valu

Spring MVC文件上传和下载

在Spring MVC中有两种实现上传文件的办法,第一种是Servlet3.0以下的版本通过commons-fileupload与commons-io完成的通用上传,第二种是Servlet3.0以上的版本的Spring内置标准上传,不需借助第3方组件.通用上传也兼容Servlet3.0以上的版本 Servlet3.0以下的通过commons-fileupload上传 1.添加上传依赖包 一个是文件上传的jar包,一个是其所依赖的IO包.这两个jar包,均在Spring支持库的org.apache

Spring mvc文件上传与下载

文件上传 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上传的jar包,一个是其所依赖的IO包.这两个jar包,均在Spring支持库的org.apache.commons中. 单文件上传 jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextP

Strut2 和Spring MVC 文件上传对比

在Java领域中,有两个常用的文件上传项目:一个是Apache组织Jakarta的Common-FileUpload组件 (http://commons.apache.org/proper/commons-fileupload/),另一个是Oreilly组织的COS框架的 (http://www.servlets.com/cos). 1.Struts2的文件上传 Struts2本身并没提供上传的组件,我们可以通过调用上传框架来实现文件的上传,struts2默认是jakarta作为其文件上传的解析

Spring MVC 文件上传

1.form的enctype=”multipart/form-data” 这个是上传文件必须的 2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少 3.需要commons.fileupload和commons.io的jar包 Spring的配置文件 <!

Spring MVC文件上传下载(转载)

原文地址: http://www.cnblogs.com/WJ-163/p/6269409.html 上传参考 http://www.cnblogs.com/lonecloud/p/5990060.html 下载参考 一.关键步骤 ①引入核心JAR文件 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上传的jar包,一个是其所依赖的IO包.这两个jar包,均在Spring支持库的org.apache.commons中. ②书写控制器方法 applicationContext.x