本文共 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/