用vue+axios的方法如何写图片上传识别人脸的功能
Admin 2022-07-06 群英技术资讯 293 次浏览
先看最终效果:
这里采用的是vant的文件上传组件,通过上传图片后端识别图片里的人脸,返回到前端,获取该人脸匹配的工号或学号。以便后续其他系统使用,比如上传成功了一个人脸照片识别成功,可以通过人脸开启会议室的门禁。目前只是做了一个人脸上传的效果。
使用axios请求数据,method:post时,data默认的传参数据类型是字符串的类型,如需要传递json格式,需要引入qs.js,看后端接受的类型而定。
首先qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装.
地址: www.npmjs.com/package/qs
qs.parse()、qs.stringify()
以下,是在实际项目中的使用方式:
var data = { code:GetRequest().code, file:file.content } axios({ method:'post', url:'/app/face/upload', data:qs.stringify(data) })
上传文件,这里需要注意点就是传递到后端需要的格式,可以是文件流,也可以是base64,尽管两种类型,vant都已经帮我们处理过了,文件流,我们也想可以直接使用formData直接传给后端,base64有些后端他需要我们自己处理过滤掉这里我们需要使用正则fileList[0].content.replace(/^data:image\/\w+;base64,/, '')
然后再传递到后端
<div id="app"> <div style="display:flex; justify-content: center; align-items: center; width: 100vw; height: 100vh;"> <div> <van-uploader v-model="fileList" upload-text='人脸正面照' :max-count="1" :after-read="afterRead" ></van-uploader> <p style="text-align:center;font-size:15px;" v-if="data">学号/工号:{{data}}</p> </div> </div> </div> <script> var app = new Vue({ el: '#app', data: { fileList: [], data:'', }, methods:{ afterRead(file) { //上传中,添加上传中的状态提示 status 为uploading file.status = 'uploading'; file.message = '上传中...'; var data = { code:this.$route.query.code, file:file.content } axios({ method:'post', url:'app/face/upload', data:{ code:GetRequest().code, file:file.content } }).then((res)=>{ //请求返回,并且已经获取到成功的状态,设置上传成功的提示 status 为done if(res.data.code == 0){ file.status = 'done'; file.message = ''; this.data = res.data.data.userNo this.$notify({ type: 'success', message: '上传成功' }); //请求返回,接受到上传失败的提示 status为failed }else{ file.status = 'failed'; file.message = '上传失败'; this.$notify({ type: 'warning', message: res.data.msg }); this.data = '' } }).catch(()=>{ file.status = 'failed'; file.message = '上传失败'; this.data = '' }) }, } }) </script>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了React中的Context应用场景分析,Context 提供了一种在组件之间共享数据的方式,而不必显式地通过组件树的逐层传递 props,通过实例代码给大家介绍使用步骤,感兴趣的朋友跟随小编一起看看吧
这篇文章给大家分享的是有关微信小程序实现切换页面的内容。小编觉得挺实用的,因此分享给大家做个参考,这里要实现的需求是,点击导航条可以切换部分页面,具体的实现效果如下,感兴趣的朋友就继续往下看吧。
对于轮播图的实现我们了解了很多,也知道实现方法有很多,本文给大家分享的是用swiper插件做轮播图,那么vue的swiper插件要实现轮播图的效果呢?接下来我们直接看代码
这篇文章主要为大家介绍了Vue编译器AST抽象语法树源码分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了React Fiber的工作原理的相关资料,帮助大家更好的理解和学习使用React框架,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008