NodeJS:zlib.gunzip(body)错误地返回“undefined”
NodeJS: zlib.gunzip( body ) erroneously returns `undefined`
我有一个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, function(err, dezipped) {
var xmlData = dezipped.toString('utf-8');
parseAndOffload(xmlData, req, res);
});
} else {
parseAndOffload(body, req, res);
}
});
}
尽管测试URL(http://flowercard.co.uk/google_product_feed.xml.gz)将GZip文件体传递给dezipped.toString('utf-8')
返回undefined
。
为什么?
很可能body
是一个字符串,而zlib.gunzip()
需要一个流/缓冲区。
尝试将encoding: null
设置为一个选项。
encoding-要在响应数据的setEncoding上使用的编码。如果为null,则返回正文作为Buffer。
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);
}
});
相关文章:
- RequireJS向模块传递配置总是返回undefined
- JSON数组数据返回Undefined
- JavaScript”;.方法“;返回undefined
- jQuery可以't获取data-*属性值,返回undefined
- Javascript/JSON警报返回Undefined
- Javascript:firstChild对象返回undefined
- 当尝试使用ajax读取文件时,变量返回undefined
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- Json在nodeJs和AngularJs中返回undefined
- 为什么像 Firefox 和 Chrome 控制台中的 '}{' 这样的结构会返回 'undefined'?
- 使用 HTML 和 JavaScript 从表单访问值时返回 undefined
- 在 CoffeeScript 中,当尝试调用类中的方法 (@_methodName) 时,它会返回 undefined
- 解析承诺'当'返回undefined(Javascript)
- NodeJS:zlib.gunzip(body)错误地返回“undefined”
- window.open在chrome扩展中返回undefined
- jQuery.pr()返回undefined,而.attr()对数据-*的作用与预期一样
- 正在读取嵌套json,jquery返回undefined
- IIFE是否总是返回undefined
- $timeout包装$http.post返回undefined而不是promise