blob类型转Uint8Array?合并两个Uint8Array

1,356 阅读1分钟

长话短说 就不介绍blob和Uint8Array 这两个东西了。 主要说 今天在工作中遇到需求 是 Blob类型转Uint8Array,然后在Uint8Array 前要插入两个数据。

 blobToUint(blob) {、
       // 拿到的 blob类型 借助FileReader 转化成 Uint8Array 类型
      var reader = new FileReader();
      reader.readAsArrayBuffer(blob);
      reader.onload = function (e) {
        // 合并操作 
        const bytesRaw = new Uint8Array([0, 211]);
        const result = e.currentTarget.result;
        var bufferCocat = new Uint8Array(bytesRaw.length + result.byteLength);
        bufferCocat.set(bytesRaw);
        bufferCocat.set(result, result.byteLength); // 增加[0, 211] 数据
        // 通过websocket发出去 websock是已经建立好的连接
        websock.binaryType = "arraybuffer";
        websock.send(bufferCocat.buffer);
        //bufferCocat.buffer 让 Uint8Array 数据只读
      }; 
    },