Полезен товар на заявката за достъп до ArrayBuffer в nodejs

app.post("/arraybuffer/:filename", function(req, res){
    console.log(req.body);
    console.log(req.params.filename);
}

Имам nodejs сървър, който получава ArrayBuffer, публикуван в него от страна на клиента, използвайки xhr.send.

  • Мога да видя ArrayBuffer данните под Заявка за полезен товар в POST заявка, като използвам инструменти за разработка на chrome в раздела мрежа!

Но когато console.log(req.body), получавам {}.
Пробвах и console.log(new Uint8Array(req.body)); - подобен резултат - Uint8Array {}

Между другото, console.log(req.params.filename); работи добре.

Имам нужда от помощ, благодаря.

(P.S. - Имам следното в моя app.js в горната част, така че не е проблем с анализирането на json)

app.use(bodyparser.json({limit: "15mb"}));
app.use(bodyparser.urlencoded({extended: true}));

person Yaan    schedule 26.03.2016    source източник
comment
expressjs.com/en/4x/api.html#req.body не виждам нищо за ArrayBuffers...   -  person dandavis    schedule 26.03.2016
comment
Изглежда, че bodyparser не обработва двоични данни, така че ще трябва или да намерите някакъв междинен софтуер, който го прави, или просто да прочетете сами действителните http post данни.   -  person jfriend00    schedule 26.03.2016
comment
Това проработи - app.use(bodyparser.raw({type: application/octet-stream})); и вмъкнете заглавка: application/octet-stream от страна на клиента!   -  person Yaan    schedule 03.04.2016