请求验证码接口直接返回一张图片,且打印成功的结果是一串乱码, 应该如何渲染?


请求验证码接口直接返回一张图片,且打印成功的结果是一串乱码, 应该如何渲染?

1.将请求改为blob类型

// 获取验证码
export const getYz = () => {
  return request('/web-api/dunsi/captcha/***', { responseType: 'blob' })
}

**2.将file转成blob **

async getYz () {
      const res = await getYz()  //请求
      // 转换成blod,同时根据res去设置type
      const myBlob = new window.Blob([res], { type: 'image/png' })
      // 创建一个新的对象URL,该对象URL可以代表某一个指定的 File 对象或 Blob 对象.
      this.imgVal = window.URL.createObjectURL(myBlob)
    },

3.渲染与切换

<!--渲染-->
<img @click="changeImg" :src="imgVal" style="background-color: pink;height: 38px;width: 146px;cursor: pointer;">
// 切换
changeImg () {
   this.getYz()
},

就这样就写完了,但是这样无法植入cookie,致使后端拿不到,无法判断该验证码是否正确

改变写法: document.querySelector('#xxx').src = ${基地址}/请求地址?t= + (new Date().getTime())

主要是看情况,用哪种写法情况不同写法不同


文章作者: 冷杨威
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 冷杨威 !
  目录
-->