咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

js操作Blob合并

概述

axios 请求二进制文件,一般会得到 Blob 或者 ArrayBuffer

需要将 axios 的请求设置为 responseType: 'blob'或者'arraybuffer'请求二进制文件,一般会得到Blob或者arraybuffer。'

引用

Blob 对象是一个代表二进制数据的基本对象,生成Blob对象有两种方法:一种是使用Blob构造函数,另一种是对现有的Blob对象使用slice方法切出一部分。

ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。ArrayBuffer 不能直接操作,而是要通过类型数组对象或 DataView 对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区的内容。

切片和合并

1
2
3
4
5
6
7
8
9
//假设blob变量是一张png图片的二进制

//切片为三个blob
let blob1 = blob.slice(0, n);
let blob2 = blob.slice(n,m);
let blob3 = blob.slice(m,length);

//合并
let merge = new Blob([blob1,blob2,blob3],{type:"image/png"});

参考