Spring Boot短短几段代码轻松实现文件上传
1、创建项目learn13,创建项目步骤可以看我往期的文章
![5d9ddacf093d5e7df245816ff36fe503.png](https://i-blog.csdnimg.cn/blog_migrate/3f96a6ecedff50f18cf7f559847cb739.jpeg)
2、在pom中添加依赖
![cbe8cd6722b5fb98ced0a75133ff7565.png](https://i-blog.csdnimg.cn/blog_migrate/3801efad30ff95842ab5bfff3a46cbb5.jpeg)
3、在application.yml中添加配置
![56bbec3bbf476629b68f699ac8d6ed84.png](https://i-blog.csdnimg.cn/blog_migrate/1d0db29ad75e4df8ef24467def6523a4.jpeg)
单文件上传超出1M,会报如下错误
![e84b2cad21820d4c6f0a3efd838e632a.png](https://i-blog.csdnimg.cn/blog_migrate/220192383830573fd25a0af1b89c1f7d.jpeg)
4、在template创建上传页面index.html
![00d3ea6bdf28de23811667f12f1a914d.png](https://i-blog.csdnimg.cn/blog_migrate/7a447a6f79ce7f2ede660a4c89553de7.jpeg)
5、创建上传controller
创建一个FileUploadController,其中@GetMapping的方法用来跳转index.html页面,而@PostMapping相关方法则是对应的 单文件上传、多文件上传、BASE64编码 三种处理方式。
@RequestParam("file") 此处的"file"对应的就是html 中 name="file" 的 input 标签,而将文件真正写入的还是借助的commons-io中的FileUtils.copyInputStreamToFile(inputStream,file)
![a73ddd9e405835d00942e2e6ff136509.png](https://i-blog.csdnimg.cn/blog_migrate/1794c7755654bdbaa614439619c40d0d.jpeg)
6、测试,启动项目,在浏览器中输入 http://localhost:3353/learn13/uploads
![7d9aabcaa0d0e7487cf20c5151039f0c.png](https://i-blog.csdnimg.cn/blog_migrate/07045fb21d3eac75f17fde3fda36df13.jpeg)
6.1、单一文件上传
![3b519a78fb47ae829936e2fc9733d1f1.png](https://i-blog.csdnimg.cn/blog_migrate/ce69ba6f159ca56eee1aba55ecbe9530.jpeg)
6.1.1、点击上传,后台console显示
![889ea038eac9f327a93aee2638e0bc5a.png](https://i-blog.csdnimg.cn/blog_migrate/b915fb4986c214eda3fd4d35a71adb40.jpeg)
6.1.2、浏览器点击上传后显示
![80696e0185a33ad53d10a611f9751549.png](https://i-blog.csdnimg.cn/blog_migrate/2c8548aaf6706c5c4dde32c7caabc4cf.jpeg)
6.1.3、文件夹(D:applearn13)显示
![07ebb960f0711aaeb1d1fa8ef677ead2.png](https://i-blog.csdnimg.cn/blog_migrate/a01074a122bbb90abbd8a553a7b02295.jpeg)
6.2、批量文件上传
![51e637587e863b7dde31b8967c016edb.png](https://i-blog.csdnimg.cn/blog_migrate/63e174c8c3d9793547d3cacf8066b1ed.jpeg)
6.2.1、点击上传,后台console显示
![ba3ebd2c1f3ea138d7536d9d9e8413d8.png](https://i-blog.csdnimg.cn/blog_migrate/3950f3c3789c4f778fff4bd36f8acaa1.jpeg)
6.2.2、浏览器点击上传后显示
![db5233f4c4b25294b65559c9b6ae20ee.png](https://i-blog.csdnimg.cn/blog_migrate/ed576e6557f2ce9feb154729e701c779.jpeg)
6.2.3、文件夹(D:applearn13)显示
![34f51801dfefe914648ce883a2fedcc9.png](https://i-blog.csdnimg.cn/blog_migrate/ebc72a1216be13e57627b037457100e4.jpeg)
6.3、base64上传文件,将一个图片生成base64编码
![0326fc5c4dc43d6f0dda69c6a2595674.png](https://i-blog.csdnimg.cn/blog_migrate/2626798406a62498d45a9927ad92bfcd.jpeg)
6.3.1、分别点击异步和同步base64上传,分别显示为请求完成和页面跳转
![5ab0aac58d83caa849c3dc575f6c331c.png](https://i-blog.csdnimg.cn/blog_migrate/df7227ba0cfed856ccd9f88167cbdb78.jpeg)
![15a9a2d3e5f85217ff4e602f4cbfd71e.png](https://i-blog.csdnimg.cn/blog_migrate/65d4df2e32a309d771866e9b2f81c5a2.jpeg)
6.3.2、文件夹(D:applearn13)显示
![e76e690c4c635e8c9e3cf13abcb2ce56.png](https://i-blog.csdnimg.cn/blog_migrate/9f9d3e8b309dd3a261f55825bdec3824.jpeg)
git地址:https://github.com/robot-king/springboot2.git 下learn13
欢迎关注、转发、收藏、评论