springmvc文件上传
来源:互联网 发布:知乎女神扒皮 编辑:程序博客网 时间:2024/06/03 09:11
SpringMVC支持文件上传组件.commons-fileupload组件. commons-fileupload依赖commons-io组件.
1.配置步骤
导入包2.配置文件的配置
<!--启动注解的默认配置--> <mvc:annotation-driven></mvc:annotation-driven><!-- 文件上传解释器 --><!-- 名字不能写错,一定是multipartResolver --><bean name="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 默认内存的大小 b--><!-- <property name="maxInMemorySize" value="512000000" ></property> --> <!-- 默认文件最大大小,b--> <property name="maxUploadSize" value="20000000"></property></bean>
3.上传表单
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> 文件上传<br/> <!-- 要求 1.method必须是POST 2.内容类型:multipart/form-data --> <form action="${pageContext.request.contextPath }/upload.mvc" method="post" enctype="multipart/form-data"> <input name="file" type="file"> <input type="submit" value="上传"> </form></body></html>
4.后台代码
import java.io.File;import java.io.IOException;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.multipart.MultipartFile;@Controllerpublic class FileUploadController {/** * 单文件上传执行方法 * @return */@RequestMapping(value="upload")public String upload(MultipartFile file){System.out.println("-文件上传-");//获得文件的原名System.out.println(file.getOriginalFilename());//创建一个文件File destfile=new File("D:/dir/"+file.getOriginalFilename());//将读取到的上传文件写入到destfiletry {file.transferTo(destfile);} catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return "/upload.jsp";}}
注意,因为核心控制器对上传解释器的名字是固定的. 是multipartResolver,所以我们配置上传解释器,名字必须是multipartResolver
public static final String MULTIPART_RESOLVER_BEAN_NAME = "multipartResolver";this.multipartResolver = context.getBean(MULTIPART_RESOLVER_BEAN_NAME, MultipartResolver.class);
表单代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> 文件上传<br/> <!-- 要求 1.method必须是POST 2.内容类型:multipart/form-data 3.多文件上传是使用数组,所以上传框的name要一样 --> <form action="${pageContext.request.contextPath }/multi-upload.mvc" method="post" enctype="multipart/form-data"> <input name="files" type="file"> <br/> <input name="files" type="file"> <br/> <input name="files" type="file"> <br/> <input type="submit" value="上传"> </form></body></html>
后台代码
/** * 多文件文件上传执行方法 * * @return */@RequestMapping(value = "multi-upload")public String multiUpload(MultipartFile[] files) {System.out.println("-文件上传-");// 多文件需要使用循环将所有的文件保存到本地for (MultipartFile file : files) {// 获得文件的原名System.out.println(file.getOriginalFilename());// 1.创建一个文件,如果file.getOriginalFilename()为空,destfile就是一个文件夹File destfile = new File("D:/dir/" + file.getOriginalFilename());// 2.将上传文件 保存到写入目标文件//判断destfile是个文件在写入if (destfile.isFile()) {try {file.transferTo(destfile);} catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}return "/multi-upload.jsp";}
阅读全文
0 0
- springMVC(11) springMVC文件上传
- SpringMVC-----8、SpringMVC上传文件
- springmvc文件上传总结
- SpringMVC multipart文件上传
- SpringMVC中的文件上传
- springmvc的文件上传
- springMVC上传文件
- springMVC 文件上传
- SpringMVC - 文件上传篇
- springMVC文件上传
- springMVC文件上传
- springMVC文件上传
- SpringMVC 上传文件
- SpringMVC文件上传
- springMVC上传文件
- springMVC上传文件例子
- springMVC上传文件
- springmvc文件上传错误
- Intellij idea/Servlet学习之-在Servlet中实现页面转发
- AMD&CMD&CommonJS&RequireJS
- 欢迎使用CSDN-markdown编辑器
- “索道”之处 一览金陵
- BIEE 12C 连接 HIVE Spark 做数据源
- springmvc文件上传
- 17暑假多校第一场B
- 图标资源下载网站
- scala代码风格指南--<方法调用>
- eclipse安装Hibernate插件
- readline-6.3 之arm平台交叉编译
- 控制器父子关系的建立原则
- 使用HAproxy如何实现web站点的动静分离
- Xamarin XAML语言教程控件模板的模板绑定