Tag: stream

Node.Js通过2修改stream

我正在尝试使用通过2的Node.jsstream。 我有一个stream,这是一个index.html文件,我试图修改index.html内容行,每行添加一个——- 。 我有: indexHTML .pipe(through2.obj(function(obj, enc, next) { blah = obj.contents.toString().split('\n'); blah.forEach(function(element) { this.push("——-"); this.push(element): }); next(); })).pipe(process.stdout); 我现在遇到的问题this.push()在blah.forEach()数组方法中不可用。 有关如何实现修改index.htmlstream的任何build议?

nodejsencryption模块,hash.update()将所有input存储在内存中

我有一个API路由代理从浏览器/客户端上传到AWS S3的file upload。 此API路由尝试在上传文件时对其进行stream式传输,以避免在服务器上caching文件的全部内容。 但是,路由也会尝试计算文件正文的MD5校验和。 随着文件的每个部分被分块, hash.update()方法被调用w / chunk。 http://nodejs.org/api/crypto.html#crypto_hash_update_data_input_encoding var crypto = require('crypto'); var hash = crypto.createHash('md5'); function write (chunk) { // invoked many times as file is uploaded hash.update(chunk); } function done() { // will hash buffer all chunks in memory at this point? hash.digest('hex'); } Hash的实例是否会缓冲文件的所有内容以执行散列计算(从而破坏了避免caching整个文件内存的目标)? 或者可以递增地计算MD5散列,而不需要整个input可用于执行计算?

当fs.ReadStream暂停时,nodejs是否暂停从硬盘读取文件?

有人知道,当fs.ReadStream暂停时,是什么引发的? 文件的读取是否继续,内容是否在后台被缓冲(占用的内存太多),或者它很聪明,不会从硬盘读取文件的其余部分,直到读取stream被恢复? 谢谢你的回答!

为什么快速的默认error handling程序捕获从可读stream发射时的错误?

我使用命令行express stream_test安装了样板快速应用程序。 我用下面的/routes/index.jsreplace了默认的/routes/index.js : var express = require('express'); var router = express.Router(); var ReadFile = require('./readFile.js'); /* GET home page. */ router.get('/', function(req, res, next) { var readFile = ReadFile(); readFile .on('data', function(data) { res.write(data); }) .on('end', function() { res.end(); }) .on('error', function(err) { console.log(err); }); }); module.exports = router; readFile.js只是fs.createReadStream一个简单包装: var Readable = require('stream').Readable; […]

如何让一个可写的stream写入无处?

我的问题是,我有一个stream水线设置像。 readableStream.pipe(transformStream).pipe(writableStream); 我真的不希望可写入的stream写入任何地方,我只是使用它,以便我的变换stream的缓冲区不会备份。 我怎样才能让可写入stream写入一个空的目的地?

stream浪汉(Saltstack)如何安装package.json与盐状态?

我想用stream浪汉“stream浪”来安装我的环境。 我做了代码来安装模块,但我想安装package.json文件,以及如何? 我的模块安装程序代码如下所示: mongodb: pkg: – installed service: – running nodejs: pkg: – installed npm: pkg: – installed git: pkg: – installed build-essential: pkg: – installed bower: npm: – installed nodemon: npm: – installed

如何使用JSONStream将大对象串联起来

我想将一个大的对象(将其写入一个文件)进行string化处理,然后运行到v8的string长度限制。 所以我想我要么find一种方法来串入一个ArrayBuffer或我需要创buildstring块。 看来https://github.com/dominictarr/JSONStream可以做后者,但我不明白如何使用stringify()因为只有.parse()的用法在文档中解释。

未捕获的SyntaxError:意外的标记{

我试图写一个柴testing,我所做的只是stream一些audio,并得到一个简单的回应: {} ,出于某种原因,我得到这个错误Uncaught SyntaxError: Unexpected token {当我pipe我的fsstream到req ,如果我删除pipe道,我没有那个streamtesting工作正常。 服务器代码: router.post('/', function (clientRequest, clientResponse) { clientRequest.on('end', function () {//when done streaming audio console.log('im at the end>>>>>'); clientResponse.setHeader('Content-Type', 'application/json'); //I've tried removing that: same result clientResponse.json({}); clientResponse.end(); //I've tried removing that: same result }); //end clientRequest.on('end',) }); testing代码: var app = require('./app'); describe('server', function() { this.timeout(10000); it('should […]

如何正确地对Node.jsstreampipe道中的错误事件做出反应?

我在理解error handling是如何在一个Node.jsstreampipe道中工作的,并且我最终使用一个简单的操作系统进行了实验。 我发布这个自我回答的问题。 也许有人认为它有帮助:)

node.js – 一次读取100个字节的subprocess标准输出

我产生了一个产生大量数据的孩子(我在这里使用'ls -lR /'作为例子)。 我想同步读取孩子的标准输出100个字节。 所以我想要做的:get100()。然后(process100)。然后(get100)。然后(process100)。然后(… 出于某种原因,这段代码只循环3次,我停止获取可读事件。 我想不出为什么? var Promise = require('bluebird'); var spawn = require("child_process").spawn; var exec = spawn( "ls", [ "-lR", "/"] ); var get100 = function () { return new Promise(function(resolve, reject) { var tryTransfer = function() { var block = exec.stdout.read(100); if (block) { console.log("Got 100 Bytes"); exec.stdout.removeAllListeners('readable'); resolve(); } else console.log("Read […]