赞
踩
ArrayBuffer是字节数组,又称类型化数组,相当于数组,不过存储的东西是01组成的而已,ArrayBuffer不能直接操作,需要将其转化为类型化数组对象或一个DataView以特定格式表示缓冲区的对象,然后使用该对象读取和写入缓冲区的内容。所以将ArrayBuffer转成base64需要分为两步:
1、将ArrayBuffer转为二进制字符串;
2、将二进制字符串通过btoa方法转为base64字符串;
- function ArrayBufferToBase64(buffer) {
- //第一步,将ArrayBuffer转为二进制字符串
- var binary = '';
- var bytes = new Uint8Array(buffer);
- for (var len = bytes.byteLength, i = 0; i < len; i++) {
- binary += String.fromCharCode(bytes[i]);
- }
- //将二进制字符串转为base64字符串
- return window.btoa(binary);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。