如何在Node.js的httpServer中接收前端发送的arraybuffer数据
生活随笔
收集整理的這篇文章主要介紹了
如何在Node.js的httpServer中接收前端发送的arraybuffer数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近使用了protobuf進行數據交互,發送在node.js接收前端的二進制數據出現了數據錯誤等問題。后來發現思路上面的問題,在req.on('data',()=>{})事件中的處理不適當才引發數據錯亂。借此發
我先直接貼正確接收二進制數據代碼
const server = http.createServer((req, res) => {if(req.method==='OPTIONS'){res.setHeader("Access-Control-Allow-Origin", "*");res.statusCode=200;}if(req.method==='POST'){// 存儲數組空間let msg=[];// 接收到數據消息req.on('data',(chunk)=>{if(chunk){msg.push(chunk);}})// 接收完畢req.on('end',()=>{// 對buffer數組陣列列表進行buffer合并返回一個Bufferlet buf=Buffer.concat(msg);conosole.log(buf)//提取Buffer正確}) } }); server.listen(3000,'127.0.0.1');在nodejs中接收buffer數據需要以數組陣列的方式存儲然后通過buffer.concat對數組陣列合并創建新的arraybuffer。這樣就正確的接收二進制數據了。
總結
以上是生活随笔為你收集整理的如何在Node.js的httpServer中接收前端发送的arraybuffer数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android studio 按钮排版,
- 下一篇: 计算机数日期,计算机如何计算两个日期之间