Node.js - 如何将流转换为字符串
Posted
技术标签:
【中文标题】Node.js - 如何将流转换为字符串【英文标题】:Node.js - How to get stream into string 【发布时间】:2013-06-29 12:42:44 【问题描述】:我有流,我需要将流内容转换为字符串。我使用 http.get 从互联网流式传输。我也将流写入文件,但我不想写入文件,然后打开同一个文件并从中读取...... 所以我需要将流转换为字符串 谢谢大家的建议...
【问题讨论】:
你的问题太模糊了。那么你想把传入的数据转换成字符串,还是写入磁盘呢?一些示例代码会有所帮助。 Writing node.js stream into a string variable 的可能重复项 【参考方案1】:不要使用第二个嵌套函数,而是尝试流上的 toString() 方法。然后可以将其通过管道传输到您想要的任何位置,您还可以编写一个 through() 方法,将其分配给一个变量或直接在一个函数中使用它。
var http = require('http');
var string = '';
var request = http.get('http://www.google.cz', function (err, data)
if (err) console.log(err);
string = data.toString();
//any other code you may want
);
//anything else
最后一点——http.get() 方法有两个参数:url 和回调。这需要两个参数,而您可能一无所获,因为它是一个空的错误消息。
【讨论】:
我认为这只适用于这里,因为 http.get 返回一个扩展流,通常可读流没有 toString 方法可以这种方式工作。【参考方案2】:var http = require('http');
var string = '';
var request = http.get("http://www.google.cz", function(response)
response.on('data', function(response)
string += response.toString();
);
response.on('end', function(string)
console.log(string);
);
);
这肯定有效。我正在使用它。
【讨论】:
以上是关于Node.js - 如何将流转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章
将rowdatapacket转换为数组,如何将mysql node.js api rowdatapacket转换为数组,将字符串转换为数组
如何从express node.js中的对象req数据转换为字符串