在Nodejs.Here中将缓冲区转换为流时遇到的一个问题是代码:
var fs = require('fs');
var b = Buffer([80,80,80,80]);
var readStream = fs.createReadStream({path:b});
该代码引发一个例外:
TypeError: path must be a string or Buffer
然而,Nodejs的文档指出,fs.createReadStream()可以接受缓冲区。
Fs.createReadStream(路径,选项)
路径
选项
有人能回答这个问题吗?非常感谢!
如何重置nodejs流?如何在nodejs中重新读取流?提前感谢!
var fs = require('fs');
var lineReader = require('line-reader');
// proxy.txt = only 3 lines
var readStream = fs.createReadStream('proxy.txt');
lineReader.open(readStream, function (err, reader) {
for(var i=0; i<6; i++) {
rea
我正在尝试创建一个电子应用程序。在main.ts中,我构造了我认为相当简单的类(如下所示),但是构造函数不会运行。对readline.createInterface(inputStream)的调用失败。运行时似乎不认为调用fs.createReadStream返回的变量在其上有一个名为' on‘的函数。
例外是
Uncaught Exception:
TypeError: Cannot read property 'on' of undefined
at new Interface (readline.js:142:10)
at Object.expor
我正在尝试使用Fastcsv nodejs包转换CSV文件。有趣的是,代码片段在我的系统上本地工作得很好。但是,如果我尝试将其与AWS lambda程序集成,则会出现write after end错误。
var stream = fs.createReadStream(s3EventInfo.inputDownloadLoc)
.pipe(csv.parse({headers: true}))
//pipe the parsed input into a csv formatter
.pipe(csv.format({headers: true}))
//Using the transfrom
我有一个nodejs父进程,它启动另一个nodejs子进程。子进程执行一些逻辑,然后将输出返回给父进程。输出很大,我正试图使用管道进行通信,正如child.send()方法的文档中所建议的那样(该方法工作得很好)。
我希望有人建议如何正确地建立这个沟通渠道。我希望能够从父到子发送数据,也能够从子到父发送数据。我已经启动了一些,但是它是不完整的(只从父到子发送消息)并抛出一个错误。
父文件代码:
var child_process = require('child_process');
var opts = {
stdio: [process.stdin, proces
有一个非常好的可以通过aws库将大型文件上传到s3,但不幸的是,这是在使用nodeJs。
有没有一种方法,我们可以实现同样的东西在平原Javascript?这里还有一个不错的,它将大文件分解成较小的块,但是这仍然缺少nodeJs的.pipe功能,这是传递给asw上传函数所必需的。以下是Node中的相关代码片段。
var fs = require('fs');
var zlib = require('zlib');
var body = fs.createReadStream('bigfile').pipe(zlib.createGzip());
在Python中,我们可以以一种非常整洁的方式逐行读取文件:
with open("filename") as fp:
for line in fp:
#handle your line
只是好奇在NodeJS/Javascript中是否有类似的方法来实现这一点。
在NodeJS/Javascript中,我所知道的最接近的方式是:
var fs = require('fs');
var readline = require('readline');
var stream = require('stream'
我正在使用NodeJs和lame和扬声器来播放mp3声音,如下所示:
var stream = fs.createReadStream('/path/to/dir/file.mp3');
var decoder = new lame.Decoder();
var speaker;
stream.pipe(decoder).on('format', function(format) {
speaker = new Speaker(format);
this.pipe(speaker);
});
这段代码运行得很好,我的问题是当我想让它暂停时:
s
当容器和文件存在时,此代码将正常工作,但没有错误检查:
function downloadFile(req, res){
var container = 'aaa';
var file = 'bbb';
var stream = blobService.createReadStream(container, file);
stream.pipe(res);
}
我想使用流事件添加错误检查代码,但是当我将管道放入data事件时,它永远不会被调用,响应也不会返回。如果我把它放到end事件中,管道就会发送一个零长度流。
function dow
根据我的知识,在每次响应后,都要根据描述为response.end()的nodejs文档调用。
但是,当我调用response.end()时,它将不会将html文件加载到浏览器。
这是我的代码:
var http=require('http');
var fs=require('fs');
http.createServer(creatingRequest).listen(8000);
console.log("connected to the server");
function printMe(response) {
respo
我有一个服务于大文件的服务器,它支持范围请求。
但是当它即将完成时,nodejs抛出了这个错误:
fs.js:1488
throw new Error('start must be <= end');
^
Error: start must be <= end
at new ReadStream (fs.js:1488:13)
at Object.fs.createReadStream (fs.js:1449:10)
at inicioStream (/home/harold/fileserver/app.