spring boot项目上传头像


应用还是验证码使用的原理;但是代码逻辑却有所不同。
逻辑前端传给后端,然后写入本机磁盘去,文件名用uuid避免重复。写完就可以顺带把文件名保存到数据库里。上传就这样子。
怎么取用的;还是通过配置映射的方式;通过src的属性访问图片

spring boot项目上传头像_第1张图片

spring boot项目上传头像_第2张图片
后端接收并写入磁盘和数据库
spring boot项目上传头像_第3张图片

映射文件路径;为什么要映射呢?
因为不映射;图片在你本机;用户怎么能访问到你图片呢;不像我们自己电脑的图片不需要通过网络就能直接路径访问;还得通过网络访问

配置文件写一个文件路径
在这里插入图片描述
spring boot项目上传头像_第4张图片
在前端可以通过一下代码试验一下;看看是不是真的能展现出这个图片。
在这里插入图片描述
磁盘确实有这个文件
spring boot项目上传头像_第5张图片
继续写完储存文件名在数据库的逻辑
spring boot项目上传头像_第6张图片

spring boot项目上传头像_第7张图片
spring boot项目上传头像_第8张图片
最后检查数据库:
spring boot项目上传头像_第9张图片

现在是取用的时候;我们在前端重新写一个请求;然后做出对应的响应;返回:image1+文件名
这个请求写在哪呢?点击提交上传完后触发这个图片的获取;那我们就可以在函数里面嵌套一个函数调用。逻辑:如果用户没上传头像;那么就使用默认的头像;如果上传了;也就是在数据库能查到头像;那么就使用用户的头像((我们上来就刷新一下这个方法;用户点击提交后也刷新一下这个方法))
spring boot项目上传头像_第10张图片
spring boot项目上传头像_第11张图片

后端逻辑:
spring boot项目上传头像_第12张图片
spring boot项目上传头像_第13张图片
spring boot项目上传头像_第14张图片
在这里插入图片描述

效果:
spring boot项目上传头像_第15张图片
多多少少还是有点瑕疵;毕竟前端不够专业。因为我们是有一个默认头像的;网络传输需要点时间;我们在查用户头像的时候;这会就是先显示默认头像;直到查询到才用于替换默认头像。如果要快一点的显示getphoto方法的调用放前面一点;就会先加载这个头像再加载其它。

我们应该再加一个判断条件;用户传的文件或者传的图片太大;我们就不应该让他提交;而是弹窗显示提示用户。但是目前就不做处理先。
spring boot项目上传头像_第16张图片

你可能感兴趣的:(spring,springboot,spring,boot)