错误:运行post时不正确的标题检查

我需要从rest电话(用于模拟我使用邮递员与二进制选项的邮件,并添加一个文件夹和HTML文件的一个小zip文件),在模拟过程中我想要获取数据与快递和提取zip并放在C盘下的一些文件夹。 目前,当我运行下面的程序(这是我试过的所有代码),但即时通讯错误

events.js:85扔呃; //未处理的错误事件^错误:在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) } ) 

在邮差头我已经添加了以下内容

 content-Type ----> application/zip 

我应该如何克服这个问题,并保存压缩? 还有其他推荐(zlib)库来获取提取和保存压缩?

zlib是为了提取压缩或缩小的数据,而不是.ZIP文件。

你可以使用node-unzip模块:

 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); }); 

如果邮递员不能像这样处理上传(如评论中所build议的那样),则可以使用cURL进行testing:

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