处理图形验证码

后台返回一个链接地址imageUrl,需要我们用这个地址发送请求,然后返回arrayBuffer文件流,我们需要做的就是将buffer文件流转换成base64

1、小程序处理图形验证码(如果返回的是http的链接 const imageUrl =kaptcha.replace('http','https') 要这样处理一下)

wx.request({

        url:imageUrl, //返回的链接地址(一定要是https的,http的不行)

        responseType: 'arraybuffer', 

        method:'post',

        header:{

          'content-type': 'application/x-www-form-urlencoded',

          'Origin': 'http://www.4pis.cn'

        },

        success(res){

          let base64 = wx.arrayBufferToBase64(res.data)

          _self.imgSrc ='data:image/png;base64,'+base64.replace(/[\r\n]/g, "")

        }

      })

2、h5处理图形验证码)

 axios.get(url,{ responseType: "arraybuffer"}).then(res=>{let path = 'data:image/png;base64,' + btoa(new Uint8Array(res.data).reduce((data, byte) => data + String.fromCharCode(byte), ''))

        _self.imageUrl = path      

       })

你可能感兴趣的:(处理图形验证码)