Javascript NodeJS:zlib.gunzip(body)错误地返回'undefined'`
我有一个barebones节点服务器,它解析XML文件(从用户定义的URL引用),并将处理后的数据作为CSV文件输出以供下载 我正在尝试实现可选的GZIP解压缩:Javascript NodeJS:zlib.gunzip(body)错误地返回'undefined'`,javascript,xml,node.js,http,gzip,Javascript,Xml,Node.js,Http,Gzip,我有一个barebones节点服务器,它解析XML文件(从用户定义的URL引用),并将处理后的数据作为CSV文件输出以供下载 我正在尝试实现可选的GZIP解压缩: function loadURL(req, res) { request.get(req.query.url, function(error, response, body) { if (req.query.isGzip == 'true') { zlib.gunzip(body, fu
function loadURL(req, res) {
request.get(req.query.url, function(error, response, body) {
if (req.query.isGzip == 'true') {
zlib.gunzip(body, function(err, dezipped) {
var xmlData = dezipped.toString('utf-8');
parseAndOffload(xmlData, req, res);
});
} else {
parseAndOffload(body, req, res);
}
});
}
尽管测试URL()是一个具有500kb数据的真实GZip文件,但将GZip文件体传递给dezipped.toString('utf-8')
将返回未定义的
为什么?很可能body
是一个字符串,zlib.gunzip()
需要一个流/缓冲区
尝试将编码:null
设置为选项
encoding—用于响应数据的setEncoding的编码。如果为null,则返回主体作为缓冲区
很可能body
是一个字符串,zlib.gunzip()
需要一个流/缓冲区
尝试将编码:null
设置为选项
encoding—用于响应数据的setEncoding的编码。如果为null,则返回主体作为缓冲区
很可能body
是一个字符串,zlib.gunzip()
需要一个流/缓冲区
尝试将编码:null
设置为选项
encoding—用于响应数据的setEncoding的编码。如果为null,则返回主体作为缓冲区
很可能body
是一个字符串,zlib.gunzip()
需要一个流/缓冲区
尝试将编码:null
设置为选项
encoding—用于响应数据的setEncoding的编码。如果为null,则返回主体作为缓冲区
互联网的速度真的让我大吃一惊。非常感谢,这就完成了。互联网的速度真的让我大吃一惊。非常感谢,这就完成了。互联网的速度真的让我大吃一惊。非常感谢,这就完成了。互联网的速度真的让我大吃一惊。非常感谢,完成了。
request.get(req.query.url, {encoding: null}, function(error, response, body) {
if (req.query.isGzip == 'true') {
zlib.gunzip(body, function(err, dezipped) {
var xmlData = dezipped.toString('utf-8');
parseAndOffload(xmlData, req, res);
});
} else {
parseAndOffload(body, req, res);
}
});