• nodejs及前端合并多个ArrayBuffer


    接收的数据为buffer,每次数据放入到arrRs中,现在想将多个ArrayBuffer合并成一个ArrayBuffer

    前端可以借助 Blob,FileReader.readAsArrayBuffer

    var blob = new Blob(arrRs, { type: 'application/octet-stream' });
    var glbReader = new window.FileReader();
    reader.readAsArrayBuffer(blob);
    reader.onloadend = function () {
        var newBuffer = reader.result;
    };

    但是nodejs里没有Blob,FileReader

    nodejs端可以使用

    Buffer.concat(……),其定义如下,可以根据自己的情况来

    var arrBuffer = [];
    for (var i = 0; i < arrRs.length; i++) {
         var tmp = ;
         let arraybuffer = new Uint8Array(arrRs[i]); 
    arrBuffer.push(arraybuffer);
    }
    var newBuffer = Buffer.concat(arrBuffer);

     注:

      在 new Uint8Array(arrRs[i]) 部分,一定要确保 arrRs[i] 为 ArrayBuffer,而不是其 DataView

      如果是DataView不会报错,但是数据是有问题的

      可以使用 ArrayBuffer.isView(tmp) 来判断

      如果对象为视图,使用 arrRs[i].buffer 转为 ArrayBuffer

  • 相关阅读:
    数学笔记目录
    机器学习笔记目录
    物理学笔记目录
    二阶递推公式的通项公式
    分析Analysis 笔记
    从傅里叶变换到小波变换
    电动力学 期末复习
    电动力学 期中复习
    热学 期中复习
    理论力学第一章 Lagrange方程
  • 原文地址:https://www.cnblogs.com/baby123/p/13969956.html
Copyright © 2020-2023  润新知