0
点赞
收藏
分享

微信扫一扫

js二进制的小技巧


js二进制的小技巧_上传


数组sort如果是字符串就按照二进制

数字就按照大小

二进制 是charCodeAt来对比

二进制 有什么用

使用场景 通常用于文件流方面

比如 图片的显示

有url路径

有URL.createObjectURL(new Blob(new Uint8Array(list)))

有base64


通常是FormData 对象转二进制上传

而从后台拿资源确是二进制流

js会把大量数据的二进制流 用 blob来表示

我们通常也是在响应的地方 new blob(res.data,{});

然后filereader 读取 转化 onload readAsDataURL 成base64

来隐藏资源路径

然后重点来了 你知道转化过去 但是 你知道转回来嘛???
比如base64转成blob 或者file对象

base64编码采用btoa两部分组成 一个是type告诉你浏览器怎么识别,一个是编译的结果
通常js使用atob解密得到一大串字符串 b
然后循环遍历使用charCodeAt来转化成Unicode编码
最后用Unit8Array这个内置对象存储起来 指定数组长度的
Uint8Array 数组类型表示一个8位无符号整型数组
比如let arr = new Uint8Array(length) // arr[i] = b[i]

然后 就 new Blob([arr],{type:’’}) 或者 new File([new Uint8Array(list)],‘a’,{type:‘image/pmg’})
就可以还原
由于blob 是 array形式的存储 所以 通常可以截取长度 做切片上传
​编码还原上传案例


举报

相关推荐

0 条评论