zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    发送邮件
    php防止表单重复提交
    mysql 优化之注意
    mysqldump
    项目中下拉框链接问题
    css在IE和Firefox下的兼容性
    利用curl并发来提高页面访问速度
    修改linux下mysql目录权限
    ajax跨域
    wireshark抓包
  • 原文地址:https://www.cnblogs.com/baby123/p/13969956.html
Copyright © 2011-2022 走看看