uniapp实现上传身份证的方法:首先打开上传证照页面;然后安装Dcloud插件市场模板;接着集成到自己的项目中,按项目的要求进行修改并使用;最后引入插件“pathToBase64”,并将图像路径转base64即可。
本教程操作环境:windows7系统、uni-app2.5.1版本,Dell G3电脑。
推荐(免费):uni-app教程
uniapp-app端上传证件(身份证/银行卡)照片后转base64发送给后台功能实现
功能描述:
如下图,点击首页右上角图标出现弹框,点击选择“上传身份证”或“银行卡”,选择好证照后,点击上传按钮,将图片上传到后台进行OCR识别。
解决方案:
关键点 1.上传证照界面实现;2.图片url转base64处理。
具体实现步骤如下
(1)点击按钮,点击首页右上角图标出现弹框,点击选择“上传身份证”或“银行卡”,跳转上传证照页面
template:
<view @click="upload" class="iconfont icon-paizhao2"></view> <!-- 选择证件弹窗 --> <uni-popup ref="cardpopup" type="bottom"> <view class="dialog" > <view @click="selectItem(index)" :class="active==index ? 'active':''" v-for="(item,index) in cardTypeList" :key="index"> {{item.name}} </view> </view> </uni-popup>
data:
data(){ return{ cardTypeList:[{name:"上传身份证"},{name:"上传银行卡"}], } }
methods:
methods:{ upload(){ this.$refs.cardpopup.open() }, //选择上传身份证/银行卡 selectItem(index){ this.active=index; if(index==0){ // 选择上传身份证 uni.navigateTo({ url:"/pages/idcard/idcard" }) }else{ // 选择上传银行卡 uni.navigateTo({ url:"/pages/bankcard/bankcard" }) } }, }
style
<style lang="scss"> .dialog{ background-color: #fff; padding:40rpx; border-radius: 15px; margin:10rpx; view{ height: 80rpx; line-height: 80rpx; text-align: center; margin-bottom: 6px; } .active{ background-color: red; border-radius: 80rpx; color:#fff; } } </style>
(2)上传证照界面实现:安装Dcloud插件市场模板 graceUI [ 免费界面 ] - 身份证选择上传模板
ps:GraceUI上,提供了丰富的组件、布局及界面库,如登录注册,个人中心、头像裁剪、商城套装等,可直接使用,极大的提高了开发效率。https://www.graceui.com/
(3)安装插件后,就是集成到自己的项目中,按项目的要求进行修改并使用。
(4)图片url转base64处理: 安装Dcloud插件市场插件 image-tools 图像转换工具,可用于图像和base64的转换
引入插件【pathToBase64】图像路径转base64
import { pathToBase64 } from '../../js_sdk/gsq-image-tools/image-tools/index.js'
使用插件,在图片上传后,将图片url转换为base64,并保存
methods: { // 选择身份证正面照片 selectImg1 : function() { uni.chooseImage({ count:1, success:(res)=>{ this.idCard1 = res.tempFilePaths[0]; //将图片url转换为base64 pathToBase64(res.tempFilePaths[0]).then(base64=>{ // console.log(base64) this.idCard1base64=base64 }).catch(error=>{ console.log(error) }) } }) } }
以下附上银行卡上传页面完整代码,上传身份证代码类似(建议将上传证照功能封装为可复用的组件)
<template> <!-- 上传银行卡页面 --> <view> <view class="grace-idcard-main"> <view class="grace-idcard-desc"> </view> <view class="grace-idcard-text"> 银行卡照片 ( 正面 ) </view> <view class="grace-idcard-items"> <view class="grace-idcard-uper-btn" @tap="selectImg"> <view class="img"><image src="../../static/images/camera.png" mode="widthFix" /></view> <view class="text">拍摄或选择照片</view> </view> <view class="grace-idcard-preview"> <image :src="bankCard" @tap="previewImg" mode="widthFix"></image> </view> </view> <view style="margin-top:38upx;"> <button type="primary" @tap="uploadCards">上传</button> </view> </view> </view> </template> <script> import { pathToBase64 } from '../../js_sdk/gsq-image-tools/image-tools/index.js' var _self; export default { data() { return { bankCard : '../../static/images/bankcard.jpg', bankCardBase64:null }; }, onLoad:function(){ _self = this; }, methods: { // 选择银行卡正面照片 selectImg : function() { uni.chooseImage({ count:1, success:(res)=>{ this.bankCard = res.tempFilePaths[0]; //将图片url转换为base64 pathToBase64(res.tempFilePaths[0]).then(base64=>{ this.bankCardBase64=base64 }).catch(error=>{ console.log(error) }) } }) }, // 预览银行卡正面照片 previewImg: function(){ uni.previewImage({ urls:[_self.bankCard] }); }, // 上传银行卡 uploadCards : function(){ if(this.bankCard == '../../static/images/bankcard.jpg'){ uni.showToast({title:"请选择银行卡照片", icon:"none"}); return; } uni.showLoading({title:"上传中"}); var param={ type:2, images:[ { side:"front", image:this.bankCardBase64, orderNum:1 } ] } // 向后台发送请求 this.$myRequest({ url:"card/ocr", method:"POST", data:param }).then(res=>{ console.log("上传银行卡返回结果:",res) if(res.data.respCode=="00000"){ uni.hideLoading(); uni.showToast({title:res.data.respDesc,icon:"none"}) uni.navigateTo({ url:"/pages/cardInfo/cardInfo?data="+JSON.stringify(res.data.result) }) }else{ uni.hideLoading(); uni.showToast({title:res.data.respDesc,icon:"none"}) } }) } }, } </script> <style> view{font-size:28upx;} .grace-idcard-main{margin:20upx 30upx;} .grace-idcard-desc{line-height:2em; background:#FFFFFF; padding:40upx; border-radius:10upx;} .grace-idcard-text{line-height:2em; margin-top:30upx;} .grace-idcard-items{background:#FFFFFF; padding:30upx 0; display:flex; margin:30upx 0; border-radius:10upx; align-items: flex-start;} .grace-idcard-uper-btn{width:276upx; margin:0 60upx; background:#F1F1F1; padding-bottom:10upx; border-radius:10upx; text-align:center;} .grace-idcard-uper-btn .img{width:100upx; height:100upx; margin:0 auto; margin-top:30upx;} .grace-idcard-uper-btn .img image{width:100upx; height:100upx;} .grace-idcard-uper-btn .text{width:100%; margin-top:10upx; text-align:center; line-height:2em;} .grace-idcard-preview{width:50%; margin:0 30upx; } .grace-idcard-preview image{width:100%; border-radius: 10rpx;} </style>
以上是uniapp如何上传身份证的详细内容。更多信息请关注PHP中文网其他相关文章!

如何在uni-app中实现图片预览功能引言:在移动应用开发中,图片预览是一项常用的功能。在uni-app中,我们可以通过使用uni-ui插件或自定义组件来实现图片预览功能。本文将介绍如何在uni-app中实现图片预览功能,并附带代码示例。一、使用uni-ui插件实现图片预览功能uni-ui是由DCloud开发的一套基于Vue.js的组件库,提供了丰富的UI组

如何在uniapp中实现相机拍照功能现在的手机功能越来越强大,几乎每个手机都配备了高像素的相机。在UniApp中实现相机拍照功能,可以为你的应用程序增添更多的交互性和丰富性。本文将针对UniApp,介绍如何使用uni-app插件来实现相机拍照功能,并提供代码示例供参考。一、安装uni-app插件首先,我们需要安装一个uni-app的插件,该插件可以方便地在u

本篇文章给大家带来了关于uniapp跨域的相关知识,其中介绍了uniapp和小程序分包的相关问题,每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分,希望对大家有帮助。

uniapp中如何使用视频播放器组件随着移动互联网的发展,视频已成为人们日常生活中不可或缺的娱乐方式之一。在uniapp中,我们可以通过使用视频播放器组件来实现视频的播放和控制。本文将介绍如何在uniapp中使用视频播放器组件,并提供相应的代码示例。一、引入视频播放器组件在uniapp中,我们需要先引入视频播放器组件才能使用它的功能。可以通过在页面的json

uniapp是一种基于Vue.js的跨平台开发框架,它可以同时开发微信小程序、App和H5页面。在uniapp中,我们可以通过使用uni-api来访问设备的各种功能,包括地理位置获取功能。本文将介绍在uniapp中如何使用地理位置获取功能,并附上代码示例。首先,在uniapp中使用地理位置获取功能,我们需要在manifest.json文件中申请权限。在man

UniApp实现支付功能的接入与使用说明随着移动支付的普及,很多应用都需要集成支付功能,以方便用户进行在线支付。UniApp作为一种基于Vue.js的跨平台开发框架,具有一次开发多平台使用的特点,可以轻松地实现支付功能的接入。本文将介绍UniApp中如何接入支付功能,并给出代码示例。一、支付功能的接入在App端的manifest.json文件中添加支付权限:

UniApp实现新闻资讯与热点推送的实现方法随着移动互联网的快速发展,新闻资讯和热点推送成为了人们获取信息的重要途径。UniApp是一种基于Vue.js的跨平台开发框架,可以实现一次编写多端运行的效果。在UniApp中,我们可以利用其丰富的组件和插件生态来实现新闻资讯的展示和热点推送功能。一、新闻资讯展示创建页面首先,我们需要在UniApp中创建一个页面来展

UniApp实现视频播放与录制的集成与使用技巧UniApp是一款跨平台的应用开发框架,可以用于开发微信小程序、H5站点、APP等多个平台。在UniApp中实现视频播放与录制是非常实用的功能之一。本文将介绍UniApp中如何集成和使用视频播放与录制的技巧,同时提供相应的代码示例。一、视频播放集成与使用在UniApp中实现视频播放可以使用uni-mp-video


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境