使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传
springMVC提供的前端控制器,可以拦截所有请求,指挥调度所有后台逻辑资源。
使用传统方式进行文件上传,需要我们手动解析request对象,获取文件上传项,再进行文件的上传。
springMVC框架可以帮助我们完成对象解析的工作,这大大简化了开发人员文件上传逻辑的编写。
首先,我们需要在springmvc.xml配置文件中配置文件解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="10485760"></property></bean>
接着,编写前端代码
enctype="multipart/form-data"
不能省略,并且input
标签的name
属性也是必要的。
<form action="file/doSpringMvcFileUpload" method="post" enctype="multipart/form-data">选择文件:<input type="file" name="fileUpload"/><br/><input type="submit" value="上传"/>
</form>
最后,编写控制器逻辑
@RequestMapping("/doSpringMvcFileUpload")public String doSpringMvcFileUpload(HttpServletRequest request,MultipartFile fileUpload) throws Exception {//文件上传路径String path = request.getSession().getServletContext().getRealPath("/uploads");File file = new File(path);if(!file.exists()){file.mkdirs();}String fileName = fileUpload.getOriginalFilename();String uuid = UUID.randomUUID().toString();fileName = uuid + "-" + fileName;fileUpload.transferTo(new File(path,fileName));return "uploadSuccess";}
整个代码会比使用commons-fileupload
实现更简单,文件解析器配置时,还可以指定文件上传的默认地址。值得注意的是,再控制器方法中的MultipartFile fileUpload
参数的参数名,必须与前端页面的name
值一致,否则,会导致执行错误,文件上传失败。
使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传相关推荐
- SpringMVC的视图和视图解析器
Java知识点总结:想看的可以从这里进入 目录 2.4.视图.视图解析器 2.4.1.视图 2.4.2.视图解析器 2.4.视图.视图解析器 视图是渲染数据模型并将内容展示给用户,而视图解析器是将逻辑 ...
- Glib学习(17) Key-value文件解析器 Key-value file parser
glib源码下载:http://ftp.gnome.org/pub/gnome/sources/glib/ glib帮助文档:https://developer.gnome.org/glib/ 本节主 ...
- 【glib】Key-value文件解析器
1 头文件 2 描述 3 API 4 实例 4.1 本文Key-value文件解析器如下: 4.2 在准备一个Key-value文件示例文件 tt.txt 4.3 编译: 4.4 运行: 4.5 运行 ...
- 管理springmvc组件——前端控制器、控制器映射器和适配器、视图解析器、文件上传的、拦截器||消息转化
管理springmvc组件 概述 在使用springmvc时要配置哪些东西 前端控制器 控制器映射器和适配器 映射器 Map<Set<String>,Object> Set& ...
- [翻译]运用文件解析器在任意文件中使用虚拟应用路径(~)
原文出处:http://www.codeproject.com Using the FileResolver to allow virtual application paths ( ~ ) i ...
- XML - XML学习/XML文件解析器(C++)实现
XML - XML学习/XML文件解析器(C++)实现 XML概述 XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...
- SpringMVC(一)视图解析器
springMVC是一个基于spring的一个框架,实际上 就是spring的一个模块,专门做web开发. 是servlet的一个升级. web开发的底层是servlet,框架是再servlet基础上 ...
- torrent文件解析器
第二步工作是解析torrent文件,有了bencoding编码解析器 解析torrent文件当然是易如反掌的任务了. 实现的封装类CTorrentParser,完成的主要任务有: 1.判断torren ...
- 分布式.RPC-WebService入门案例(java实现,注解实现,xsd文件解析,wsdl文件解析)
系列博文: 分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客 分布式.RPC-WebService三要素,三个规范, Soap协议_闲猫的博客-CSDN博客 分布 ...
最新文章
- 训练指南第二章-基础问题
- 生产环境中配置的samba
- 组会PPT20201030《复现chen结果及初始密度影响》
- 关于Layout Weight一些使用技巧
- boost::process:std_out相关的测试程序
- Struts2基础知识(三)
- (转)Struts2的拦截器
- 硬核软件开发者 30 多年的 11 条经验教训
- Nhibernate出现No row with the given identifier exists问题的产生原因及解决方法
- VB中PictureBox控件使用教程
- jfreechart折线图y轴刻度值_Python matplotlib绘制折线图
- 440.字典序中的第K小数字
- 这些CAD制图初学入门问题你遇到过吗?CAD制图初学入门全攻略!
- TQ2440的学习——UBOOT移植(NAND FLASH的支持)——初步分析
- 在springboot中使用腾讯QQ邮箱发送邮件时出现的错误
- 街霸 隆(Ryu)升龙拳(Syoryuken)动画(四)制作过程中几个版本动画比较一下
- 仿个人税务 app html5_全城警惕!假个税APP正在抢你的钱!
- markdown符号表情 readme符号表情 github Profile自述文件用
- 【成为架构师课程系列】消息队列:秒杀时如何处理每秒上万次的下单请求?
- 人际间亲密关系可能呈现函数式变化
热门文章
- 如何根据参数类型重载__init__方法?
- 在C#中将字符串转换为字节数组
- 在UITableView中使用自动布局以获取动态单元格布局和可变的行高
- Java的“ for each”循环如何工作?
- linux如何查icsci进程,linux13问
- nexus4恢复原生系统_深度好文!新浪微博架构师详析微博云原生技术的思考与实践...
- 读取usb口数据_Mixly 第12课 模拟值读取实验串口使用
- 未预期的符号 `( 附近有语法错误_苹果iOS 14.2现在提供117种新的表情符号和新的壁纸...
- linux :Tar 命令参数详解
- 【Spring第九篇】AOP