import fs from "fs"; /** 以函数的方式导入库文件 */ let Duplex = require('stream').Duplex; /** 以下代码暂未测试 */ /** 将流转换成Buffer */ export function streamToBuffer(stream: fs.ReadStream): ArrayBuffer { var buffers: Buffer[] = []; var arrayBuffer; stream.on('error', (error) => { console.log("Error ", error); }); stream.on('data', (data) => { console.log("写入数据", data); buffers.push(data as Buffer); }); stream.on('end', () => { arrayBuffer = buffers; console.log("数据结束", arrayBuffer); if (buffers.length == 0) { console.log("buffer is null!"); } }); return arrayBuffer; } /** buffer转换成ArrayBuffer */ function buffertoArrayBuffer(buffer: Buffer): ArrayBuffer { var arrayBuffer = new ArrayBuffer(buffer.length); var slidingView = new Uint8Array(arrayBuffer); for (var i = 0; i < buffer.length; ++i) { slidingView[i] = buffer[i]; } return arrayBuffer; } /** ArrayBuffer 转换成 Buffer */ function arrayBuffertoBuffer(arrayBuffer:ArrayBuffer): Buffer { var buffer = new Buffer(arrayBuffer.byteLength); var view = new Uint8Array(arrayBuffer); for (var i = 0; i < buffer.length; ++i) { buffer[i] = view[i]; } return buffer; } export function stringToUint8Array(str:string): Uint8Array { if (str == undefined) { return null; } var uint8Array = []; let strArray = str.split(","); for (var i = 0; i < strArray.length; i++) { if (strArray[i] == null){ continue; } uint8Array.push(strArray[i]); } var tmpUint8Array = new Uint8Array(uint8Array); return tmpUint8Array }