Принятие файла GZIP с помощью NodeJS и Express

#node.js #express #gzip

#node.js #экспресс #gzip

Вопрос:

У меня есть служба, которая принимает файл GZIP от клиента, у клиента установлен заголовок:

 Content-Type: application/x-gzip
 

Код, который принимает входящие данные, — это просто вездесущий код, который я нашел в сети:

 var postbody = [];

req.on('data', function (chunk){ 
    postbody.push(chunk);
}); 

req.on('end',function(){ 
    var result = postbody.join('');
    etc...
 

Проблема в том, что когда я смотрю на файл, в частности, используя linux: file myFile, он говорит, что он имеет тип data. Больше нет gzip. Не уверен, куда идти дальше.

Ответ №1:

Получаемые фрагменты являются буферами, а не строками. Вы должны сделать:

 var result = Buffer.concat(postbody);
 

Чтобы получить окончательный gzip.