SpringBoot 实现图片上传功能
SpringBoot 是为了简化Spring应用的创建、运行、测试、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本事而不是外部的xml配置,我们只需遵循规范,引入相关的依赖就可以轻易搭建出一个web工程
说明
- 文件上传控件较多,本文以引用
LayUI
图片上传控件为例 - 页面上传插件使用Layui的图片上传控件,点击跳转
- 文件上传使用JQuery 的Ajax请求对应图片上传API,API返回包含图片路径格式的JSON数据
- 上传图片路径并非在项目文件夹中,需配置静态资源文件路径
配置文件上传控件
第一步:添加
Layui
的文件上传控件
将
Layui
库添加进项目的静态资源文件夹中,在src/main/resources/satic
文件夹下创建layui
文件夹存放Layui
库等资源文件;HTML
页面引用js及css文件,图片上传控件需要用到的资源有jquery.mini.js/jquery.js、layer.js、layui.js、layui.css
。相关资源文件路径需要配置为项目具体引用路径或使用在线配置路径layui
,详细内容可到layui官网
查看。初始化插件及样式
1 | <script type="text/javascript"> |
注: web.upload-path 为图片保存路径,若使用linux系统部署需要将绝对路径替换为相对路径。 例如:
API 接口
- 在
SpringBoot 2.x
版本中,页面静态资源配置无法实现。故采用配置文件的方式实现了,可以忽略本文中的页面显示配置
或采用其他的方式。
第三步:文件上传API
1 | # 配置外部文件夹可通过HTTP访问图片,即配置静态资源路径 |
1 | "${web.upload.image}") ( |
页面显示配置
第四步:图片在前端页面显示路径配置,不配置显示不了图片
1 | import org.slf4j.LoggerFactory; |