Springboot-文件上传的实现

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

不要三天打鱼两天晒网啦.不啰嗦,直接开始.
SpringMVC对文件上传做了简化,而作为更加简化的Springboot来讲做了更加进一步的封装,文件上传的实现更加方便.
Java的文件上传一共涉及两个组件,一个是CommonsMuitipartResolver,另一个是StandardServeltMultipartResolver,其中common前缀的这个使用的是common-fileupload 来处理multipart请求,而standard前缀则是基于Servlet来处理multipart请求.

说人话就是,用standard前缀的组件,用Tomcat就不需要添加额外的jar包了.

Tomcat7.0以后就集成了Sevlet3.0了,又因为,Springboot内嵌的Tomcat的版本是8.5.32,因此可以直接使用,代码截图如下:

image.png
代码出自github.com/spring-proj…
可以在Springboot参考文档里找到docs.spring.io/spring-boot…
可以看到的是:若果使用者没有提供multipartResolver的话会默认使用,所以在Springboot中上传文件可以做到了零配置,下面是具体过程.

单文件上传

做好准备工作
创建一个 HTML网页 放在resource的static下,HTML代码是
image.png

image.png

效果:

image.png
创建一个controller
图:

image.png

很简单很容易理解,将上传的保存在哪里,名字是什么,最后通过拼接字符串来生成上传文件的访问路径,最终将访问路径返回,因为有io的读取操作所以需要try catch,最后在浏览器中访问HTTPS://loc选择文件alhost:8081/upload.html
单击选择文件按钮上传文件,点击提交后会返回存好的路径名,复制再去访问路径名.

效果图

image.png
到此为止,咱们就成功的上传了一个文件,利用springboot,真的是大大简化了配置.OK下次继续