ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

将文件流的形式的验证码转换成图片

2019-02-27 14:42:04  阅读:362  来源: 互联网

标签:responseType String 转换成 创建 验证码 数组 data response 图片


后端返回文件流的数据形式

axios
  .get('/getSecAuthCode', {
    params: param,
    responseType: 'arraybuffer'
  })
  .then(response => new Buffer(response.data, 'binary').toString('base64'))
  .then(data => {
    ...
  });

// 浏览器
axios
  .get('/getSecAuthCode', {
    params: param,
    responseType: 'arraybuffer'
  })
  .then(response => {
    return 'data:image/png;base64,' + btoa(
      new Uint8Array(response.data)
        .reduce((data, byte) => data + String.fromCharCode(byte), '')
    );
  }).then(data => {
    ...
  })

一定要设置 responseType,否则无法显示验证码

responseType

说明:

  • WindowOrWorkerGlobalScope.btoa() 从 String 对象中创建一个 base-64 编码的 ASCII 字符串,其中字符串中的每个字符都被视为一个二进制数据字节。
  • Uint8Array 数组类型表示一个8位无符号整型数组,创建时内容被初始化为0。创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素。
  • 静态 String.fromCharCode() 方法返回使用指定的Unicode值序列创建的字符串。

标签:responseType,String,转换成,创建,验证码,数组,data,response,图片
来源: https://www.cnblogs.com/xiongxiaolong/p/10442674.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有