关于ajax和axios用base64方式上传头像

2019-01-04  本文已影响0人  西瓜涼了夏天

1、ajax和vue的axios上传的原理基本一致,这里只介绍axios

2、首先要选择一张图片,简单布下静态页面

这里的选择图片按钮点击弹出这个选择框,事实上是在微博的发布图片上找的灵感,大家可以去看看按F12查看他的点击按钮出现的布局,本人这里采用了

宽高设置和你的按钮一样的大小,让他定位到按钮上面,opacity隐藏,就能实现点击出现选择文件窗口,当然input里面也要做一些设置

还需要一个canvas标签来转换成base64的图片格式,需要注意:

①、宽高必须写在行间样式上,其他不做要求

②、宽高最好和你截取的矩形框一样大,否则他获取出来的base64是以你canvas宽高来的,就会出现这样的情况,只有左上角一部分

头像就变成这样了

前端设置:

后台node设置:新建这样的文件,复制粘贴代码

数据库设置:

base64用长文本类型来装

前端代码:

后台代码:

直接在app.js中写

因为是formdata发的后台就要用multer来接受

model层写这里就行了

以上操作后就能实现上传头像,更换用户头像了

对了,用户可以在地址栏存着

取的时候一个正则表达式即可

上一篇下一篇

猜你喜欢

热点阅读