MultipartFile(文件的上传)
摘自:https://www.cnblogs.com/896240130Master/p/6430908.html
https://blog.csdn.net/kouwoo/article/details/40507565
注意:单文件MultipartFile file
多文件(定义为数组形式)MultipartFile[] file
判断文件是否为空:!file.isEmpty() -- 不为空
文件保存路径 :String filePath = request.getSession().getServletContext().getRealPath("/")
+ "upload/" + file.getOriginalFilename();
上传文件原名:file.getOriginalFilename();
转存文件 :file.transferTo(new File(filePath));
步骤:1、创建一个控制类
2、编写提交表单的action
3、使用SpringMVC注解RequestParam来指定表单中的file参数;
4、指定一个用于保存文件的web项目路径
5、通过MultipartFile的transferTo(File dest)这个方法来转存文件到指定的路径。
MultipartResolver其中属性详解:
defaultEncoding="UTF-8" 是请求的编码格式,默认为iso-8859-1
maxUploadSize="5400000" 是上传文件的大小,单位为字节
uploadTempDir="fileUpload/temp" 为上传文件的临时路径
- <body>
- <h2>文件上传实例</h2>
- <form action="fileUpload.html" method="post" enctype="multipart/form-data">
- 选择文件:<input type="file" name="file">
- <input type="submit" value="提交">
- </form>
- </body>
注意要在form标签中加上enctype="multipart/form-data"表示该表单是要处理文件的,input的type属性的属性值设为file,
标签中属性type的值为file,且name属性的值为myFile,之所以需要name属性值,是因为在使用接口MultipartHttpServletRequest的getFile方法时需要使用name属性的值。例如在清单7-33中,代码中的upload操作会从请求中读取上传文件。
读取上传文件
def upload = {
def file = request.getFile('myFile')
// 处理该文件
}
注意getFile方法不会返回一个java.io.File的实例,而是返回org.springframework.web. multipart.MultipartFile的一个实例,关于org.springframework.web.multipart.MultipartFile的详细信息,请参考清单7-34。如果在请求中没有找到文件则getFile方法返回null。
清单7-34 org.springframework.web.multipart.MultipartFile接口
- interface MultipartFile {
- public byte[] getBytes();
- public String getContentType();
- public java.io.InputStream getInputStream();
- public String getName();
- public String getOriginalFilename();
- public long getSize();
- public boolean isEmpty();
- public void transferTo(java.io.File dest);
- }
- @RequestMapping("fileUpload")
- public String fileUpload(@RequestParam("file") MultipartFile file) {
- // 判断文件是否为空
- if (!file.isEmpty()) {
- try {
- // 文件保存路径
- String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
- + file.getOriginalFilename();
- // 转存文件
- file.transferTo(new File(filePath));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- // 重定向
- return "redirect:/list.html";
- }
MultipartFile(文件的上传)的更多相关文章
- MultipartFile(文件的上传)--CommonsMultipartResolver
转自:https://www.cnblogs.com/896240130Master/p/6430908.html SpringMVC 中,文件的上传,是通过 MultipartResolver 实现 ...
- 在SpringMVC框架下实现文件的 上传和 下载
在eclipse中的javaEE环境下:导入必要的架包 web.xml的配置文件: <?xml version="1.0" encoding="UTF-8" ...
- FormData对象实现文件Ajax上传
后台: import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; imp ...
- SpringMVC+SwfUpload进行多文件同时上传
由于最近项目需要做一个多文件同时上传的功能,所以好好的看了一下各种上传工具,感觉uploadify和SwfUpload的功能都比较强大,并且使用起来也很方便.SWFUpload是一个flash和js相 ...
- SpringMVC进行文件的上传以及多文件的上传(转)
基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤 SpringMVC 基础教程 框架分析:htt ...
- SpringMVC框架(四)文件的上传下载,上下文路径
文件目录: SpringMVC配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...
- java springboot 大文件分片上传处理
参考自:https://blog.csdn.net/u014150463/article/details/74044467 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时 ...
- 使用springmvc进行文件的上传和下载
文件的上传 SpringMVC支持文件上传组件,commons-fileupload,commons-fileupload依赖commons-io组件 配置步骤说明 第一步:导入包 commons-f ...
- Spring MVC 实现文件的上传和下载 (八)
完整的项目案例: springmvc.zip 目录 SpringMVC 中,文件的上传,是通过 MultipartResolver 实现的. 所以,如果要实现文件的上传,只要在 spring-mvc. ...
随机推荐
- was重要文件位置备忘
软件版本信息--/was/profiles/lsDmgr/properties/version/profile.version(/was/bin/versionInfo.sh) profile模版位置 ...
- mac crontab时间断内随机时间执行定时任务
首先需要了解crontab使用,这里不多,主要是时间断内随机时间: 然而crontab 并没有具体方法实现时间段内随机时间执行,我的办法如下: 这里测试一个例子: 执行一个数据存文件python脚本, ...
- WPF技术实现控件截图
1.http://www.cnblogs.com/TianFang/archive/2012/10/07/2714140.html 2.http://www.silverlightchina.net/ ...
- nginx;keepalived配置出现主主的解决方法(脑裂问题)
1.查看日志 tail -f /var/log/messages 发现master和backup机都是mastaer模式启动的 通过查看别人的经历,发现VRRP基于报文实现的.master设置一定时间 ...
- Mysql 实列结构-进程
一.MySQL后台进程简介 master thread与四大I/O线程:read thread.write thread.redo log thread.change buffer thread与 p ...
- VirtualBox安装CentOS7的网络配置
VirtualBox安装CentOS7的网络配置 这几天在本机VirtualBox安装CentOS时遇到了网络的坑... VirtualBox的下载地址:https://www.virtualbox. ...
- 百度GIS API使用
按照惯例,先来一段"Hello World"级别的直观的效果 实现效果: 实现代码: (WEB工程下直接运行即可) <!DOCTYPE html> <html&g ...
- Linux7 下重新安装YUM
所有操作均在ROOT用户下,系统版本是Linux7.0 X86_64: 一.删除原有YUM # rpm -aq|grep yum|xargs rpm -e --nodeps 二.下载yum,注意自己的 ...
- Centos7部署Flannel网络(八)
1.为Flannel生成证书 [root@linux-node1 ssl]# vim flanneld-csr.json { "CN": "flanneld", ...
- UVALive - 6434 (贪心)
题目链接:https://vjudge.net/problem/UVALive-6434 题意:给你n个数字,要你把这n个数字分成m组,每一组的消耗值定义为改组最大值和最小值之差,要求这m组的消耗值总 ...