【Spring学习笔记-MVC-13】Spring MVC之文件上传
1. 摘要
2. 添加Jar包
Spring MVC文件上传,需要添加如下两个jar包:
- commons-fileupload-1.2.2.jar;
- commons-io-2.0.1.jar
3. 配置CommonsMultipartResolver

<!-- 文件上传 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"p:defaultEncoding="UTF-8" p:maxUploadSize="5000000" p:uploadTempDir="upload/temp" />
- p:defaultEncoding="UTF-8":这里设置默认的文件编码为UTF-8,必须与用户JSP的默认编码一致;
- p:maxUploadSize="5000000":指定文件上传大小,单位为字节;
- p:uploadTempDir="upload/temp":文件上传临时目录,上传完成后,就会将临时文件删除;
4. 控制层代码




@RequestMapping(value = "/upload")public String updateThumb(@RequestParam("name") String name,@RequestParam("file") MultipartFile file,HttpServletRequest request, ModelMap model) throws Exception {if (!file.isEmpty()) {// 保存文件-方式1 --测试过,可以用,必须先创建相应目录// file.transferTo(new File("d:/"+file.getOriginalFilename()));// 保存文件-方式2String path = request.getSession().getServletContext().getRealPath("upload");String fileName = file.getOriginalFilename();File targetFile = new File(path, fileName);//目录不存在,则创建目录if(!targetFile.exists()){targetFile.mkdirs();}//保存try {file.transferTo(targetFile);} catch (Exception e) {e.printStackTrace();}model.addAttribute("fileUrl", request.getContextPath()+"/upload/"+fileName);return "success";} else {return "fail";}}
5. 文件上传JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><html><head><title>请上传用户头像</title></head><body><h1>请选择上传的头像文件</h1><form method="post" action="<c:url value="/test/upload.action"/>"enctype="multipart/form-data"><input type="text" name="name" /><input type="file" name="file" /><input type="submit" /></form></body></html>
成功返回的界面:


附件列表
【Spring学习笔记-MVC-13】Spring MVC之文件上传的更多相关文章
- Android(java)学习笔记214:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
- Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail
文件上传概述 1.文件上传的作用 例如网络硬盘,就是用来上传下载文件的. 在网络浏览器中,时常需要上传照片 2.文件上传对页面的要求 上 ...
- 【Struts2学习笔记(9)】单文件上传和多文件上传
(1)单文件上传 第一步:在WEB-INF/lib下增加commons-fileupload-1.2.1.jar.commons-io-1.3.2.jar. 这两个文件能够从http://common ...
- struts2学习笔记(七)—— struts2的文件上传
一.前台页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- Android(java)学习笔记157:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
- Python3学习笔记(十八):文件上传和下载
文件上传 以人人网上传头像为例,用Fiddler抓取的上传头像接口报文如下 上传头像图片代码: import requests upload_url = 'http://upload.renren.c ...
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- Spring MVC 学习总结(五)——校验与文件上传
Spring MVC不仅是在架构上改变了项目,使代码变得可复用.可维护与可扩展,其实在功能上也加强了不少. 验证与文件上传是许多项目中不可缺少的一部分.在项目中验证非常重要,首先是安全性考虑,如防止注 ...
- Spring 4 官方文档学习(十一)Web MVC 框架之multipart(文件上传)支持
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-multipart 1.简 ...
随机推荐
- 形成一个zigzag数组(JPEG编码里取像素数据的排列顺序)
面试例题:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现? (中国台湾著名硬件公司2007年11月面试题)(自程序 ...
- OPENWRT常用设置
常用设置: 计划任务,定时重启 系统--计划任务,每行一个计划任务. 然后是计划任务列表的格式: [minute] [hour] [day of month] [month] [day of week ...
- IE 11 回车事件代码不起作用但是在chrom可以正常运行解决办法
今天遇到这个问题,搞半天开始以为是代码写错了,后面拿到chrom上执行发现是正常的,就是这段代码 function EnterPress(){ if(event.keyCode == ...
- Java虚拟机运行时数据区
运行时数据区程序计数器Java虚拟机栈本地方法栈Java堆(GC堆)方法区运行时常量池 运行时数据区 Java虚拟机在运行Java程序时,会将它所管理的内存划分为若干个内存区域.这些数据区域有各自的用 ...
- firefox下reset()不好使的问题
最近在测试项目时发现,在firefox下,form.reset()方法对于隐藏的<input>等不起效果,导致程序中出现了错误,以下面为例: js代码: document.agentFor ...
- 彩信的在android里是如何存储的 Android MMS模块数据存取
数据表MMS模块总共包含17张表:addr.android_metadata.attachments.canonical_addresses.drm.part.pdu.pending_msgs.rat ...
- UNIX设备文件
UNIX和Linux中比较重要的三个设备文件是:/dev/console,/dev/tty和/dev/null. 0 /dev/console 这个设备代表的是系统控制台,错误信息和诊断信息通常会被发 ...
- HDU 3455
http://acm.hdu.edu.cn/showproblem.php?pid=3435 同下题,只是这题是双向边,同时让我认识到了一个问题,一个图拆点做二分图完美匹配的本质是求该图环的并 htt ...
- magento的必备插件(转)
标签: 插件 magento magento插件 必备插件 Magento插件 ,插件,我要常见Magento必备插件 .. 都是免费的Magento插件,多而杂,乡亲们自己挑~~ [因收集而强大 & ...
- vue2.*初体验
一. 推荐开发环境 二. 安装环境 安装 nvm :curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install. ...