nodejs 请求 - toString 失败 - 大文件的缓冲区大小问题 (maxBufferSize)
nodejs request - toString failed - buffer size issue for big files (maxBufferSize)
我请求一个包含 150K 条记录的大文件,但它抛出"toString 失败"错误。 nodejs/node#3175 说这是因为 maxBufferSize。请求适用于 200 条记录,但它是外部 API,要求是一次获取所有记录。[没有分页:(]有没有办法为此请求设置缓冲区大小?
我已经在这里问过这个问题
编辑:
request("http://www.site-containing-big-data/api",
function (error, response, body) {
console.log('got something to show');
if(!error && response.statusCode == 200) {
resolve(body);
}else if(error){
reject(error);
}
});
但控制台中除了toString failed
消息外没有任何显示
解决了它。这是一个xml文件,我试图直接处理它。现在,我首先保存在文件中,然后使用xml-stream
逐个处理每个对象。
request.get("http://www.site-containing-big-data/api" )
.on('error', function(errReq) {
console.log('error while reading from big site : ', errReq);
}).on('end', function(){
console.log('got from big site, now processing');
var XmlStream = require('xml-stream') ;
var stream=fs.createReadStream('bigfile.xml');
xml = new XmlStream(stream);
xml.on('endElement: item', function(item) {//item is a node. structure is <items><item></item><item></item></items>
//do something here
});
xml.on('end', function(){
// when processing finished for all objects/items in that file
});
});
})
.pipe(fs.createWriteStream('bigfile.xml'));
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 由于iframe导致的问题
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- nodejs 请求 - toString 失败 - 大文件的缓冲区大小问题 (maxBufferSize)