Javascript 如何将zip文件从请求主体写入节点服务器上的文件?
我正在尝试编写一个节点服务器,它可以接收PDF和JSON的zip文件。为了在服务器上使用它,我需要将它写入服务器上的一个文件,在那里我可以调用内部数据的其他函数 但是,使用我当前的方法,我可以成功地写入服务器中的文件,但是当尝试在windows中打开它时,我收到一个错误“压缩(压缩)文件夹无效” 我已经尝试直接将请求管道化到fs.createWriteStream,结果与下面的代码相同Javascript 如何将zip文件从请求主体写入节点服务器上的文件?,javascript,node.js,request,zip,writetofile,Javascript,Node.js,Request,Zip,Writetofile,我正在尝试编写一个节点服务器,它可以接收PDF和JSON的zip文件。为了在服务器上使用它,我需要将它写入服务器上的一个文件,在那里我可以调用内部数据的其他函数 但是,使用我当前的方法,我可以成功地写入服务器中的文件,但是当尝试在windows中打开它时,我收到一个错误“压缩(压缩)文件夹无效” 我已经尝试直接将请求管道化到fs.createWriteStream,结果与下面的代码相同 app.route('/myRoute').post(rawParser, function (req
app.route('/myRoute').post(rawParser, function (req, res, next) {
let serverFileName = `${req.connection.remoteAddress.substring(7)}_${Date.now()}.zip`
let writeStream = fs.createWriteStream(`${__dirname}/${serverFileName}`, 'binary');
// console.log(req.rawBody);
writeStream.write(req.rawBody);
writeStream.end();
writeStream.on('error', err => {
logger.logger(err);
res.status = 500;
res.send("Server did not accept File");
});
writeStream.on('finish', () => {
logger.logger(`Writing to file: ${serverFileName}`);
res.status = 201;
res.send("Successfully Wrote file to server");
});
});
这是我的简历
const rawParser = function (req, res, next) {
req.rawBody = [];
req.on('data', function (chunk) {
req.rawBody.push(chunk);
console.log(chunk)
});
req.on('end', function () {
req.rawBody = Buffer.concat(req.rawBody);
next();
});
}
我对节点和javascript编码相当陌生。欢迎提供任何提示,包括您的解决方案