Error: incorrect header check when running post

纵然是瞬间 提交于 2019-12-19 10:26:42

问题


I need to get zip from rest call (for simulation I use postman with binary option for post and add a little zip file with folder and html file),during the simulation I want to get the data with express and extract the zip and put in some folder under C drive. Currently when I run the following program(this is all the code which i've tried) but im getting error

events.js:85 throw er; // Unhandled 'error' event ^ Error: incorrect header check at Zlib._handle.onerror (zlib.js:366:17)

var express = require('express'),
    fs = require('fs'),
    zlib = require('zlib'),
    app = express();

app.post('/', function (req, res) {
    var writeStream = fs.createWriteStream('C://myFolder', {flags: 'w'});
    req.pipe(zlib.createInflate()).pipe(writeStream);

});

var server = app.listen(3000, function () {
        console.log("Running on port" + 3000)
    }
)

in postman header i've added the following

content-Type ----> application/zip

How should I overcome this issue and save the zip ? there is other recommended (zlib)library to get extract and save zip?


回答1:


zlib is meant to extract gzipped or deflated data, not .ZIP files.

You can use the node-unzip module for those:

var unzip = require('unzip');
...
app.post('/', function(req, res) {
  var extractor = unzip.Extract({ path : 'C://myFolder' }).on('close', function() {
    res.sendStatus(200);
  }).on('error', function(err) {
    res.sendStatus(500);
  });
  req.pipe(extractor);
});

If Postman can't handle uploads like this (as suggested in the comments), you can test using cURL:

$ curl -XPOST localhost:3000 --data-binary @test.zip


来源:https://stackoverflow.com/questions/31438855/error-incorrect-header-check-when-running-post

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!