博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot项目实现多文件上传
阅读量:3949 次
发布时间:2019-05-24

本文共 1415 字,大约阅读时间需要 4 分钟。

1.新建一个Springboot项目

 

添加web依赖

 

2.新建一个controller包,在controller包中新建一个UploadController类(类名随意)。

3.MultipartFile类是我们在实现文件上传的时候一定会用到的,这里作为一个数组,可以接收多个文件

 

@RestControllerpublic class UploadController {	@RequestMapping("/upload")	public String uploadFile(MultipartFile[] files, HttpServletRequest request) {		String realPath = request.getServletContext().getRealPath("/img");		File folder = new File(realPath);		for (MultipartFile file : files) {			//获取上传文件的源文件名称			String oldName = file.getOriginalFilename();			String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf("."));			//判断目录是否存在,不存在则创建目录			if (!folder.exists()) {				folder.mkdirs();			}			try {				file.transferTo(new File(folder, newName));				//打印上传文件的url				System.out.println(request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/img/" + newName);			} catch (IOException e) {				e.printStackTrace();				return "上传文件失败";			}		}		return "上传文件成功";	}}

4.在resources目录中的static包中创建一个名为upload的html静态文件。

  
Title

5.至此可以通过浏览器访问该html静态文件页面

6.点击提交后报了如下错误:

7.通过提示我们可以知道原因是因为选择上传的文件大小超出了上限,此时我们可以在application.properties配置文件中来设置上传文件大小的上限:

8.重启springboot项目,再选择多个文件上传,上传成功!

9.点击在idea中我们打印出来的上传文件地址就可以发现,该地址能够进行访问(或者将该地址粘贴到浏览器中,也是可以访问到的)

10.一般在我们的项目开发中,可以将文件上传到文件服务器中。

springboot项目对文件上传做了自动化配置,不需要我们再进行额外的配置或添加额外的依赖。如果对于上传文件的功能有一些需求配置,我们可以在application.properties配置文件中进行配置,下面是常见的上传文件配置信息:

官方文档地址:

 

转载地址:http://bjhwi.baihongyu.com/

你可能感兴趣的文章
openresty+lua在反向代理服务中的玩法
查看>>
ClickHouse集群搭建从0到1
查看>>
nginx实现请求的负载均衡 + keepalived实现nginx的高可用
查看>>
linux shell 中数组的定义和for循环遍历的方法
查看>>
求1!+2!+3!....+20!(java代码)
查看>>
VMware安装Ubuntu系统无法选择语言
查看>>
QT5.12安装
查看>>
Git/Github初步使用记录
查看>>
QT 开发问题合集
查看>>
Github使用问题合集
查看>>
QT多线程服务器
查看>>
Ubuntu 18.04.2 ulimit配置
查看>>
Ubuntu Mysql 安装与配置
查看>>
QT5.12 Mysql驱动未能加载问题
查看>>
现场直击|SequoiaDB@SIGMOD 2021:关注数据库的根科技存储技术
查看>>
赋能政企智慧办公,巨杉数据库与致远互联完成产品互认证
查看>>
SequoiaDB湖仓一体架构亮相 ACM SIGMOD 2021
查看>>
信通院发布第十二批大数据产品能力评测结果,巨杉数据库两款产品通过
查看>>
巨杉数据库荣获2020年度河南省科学技术进步奖
查看>>
湖仓一体提升管理效率 培育数据沃土
查看>>