当前位置: 首页 > 面试题库 >

如何在Node.js 0.10中立即将写入流与读取流链接起来?

潘学民
2023-03-14
问题内容

下一行将从指定的url变量下载图像文件:

var filename = path.join(__dirname, url.replace(/^.*[\\\/]/, ''));
request(url).pipe(fs.createWriteStream(filename));

这些行将获取该图像并将其保存到MongoDB GridFS:

 var gfs = Grid(mongoose.connection.db, mongoose.mongo);
 var writestream = gfs.createWriteStream({ filename: filename });
 fs.createReadStream(filename).pipe(writestream);

pipe像这样的链接将引发 错误:500 Cannot Pipe。 不可管道。

request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);

发生这种情况是因为尚未准备好读取图像文件,对吗?我该怎么办才能解决此问题?错误:500无法管道。不可管道。

使用下面的: Node.js的0.10.10猫鼬要求GridFS的流 库。


问题答案:
request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);

与此相同:

var fileStream = fs.createWriteStream(filename);
request(url).pipe(fileStream);
fileStream.pipe(writestream);

因此,问题在于您正在尝试.pipe彼此WriteStream融合WriteStream



 类似资料:
  • 问题内容: 问:我怎样才能从读到的一切入的方式是不是一个手工制作的循环用我自己的字节的缓冲区? 问题答案: 编写一个方法来执行此操作,然后从需要该功能的任何地方调用它。番石榴已经在中提供了代码。我敢肯定,几乎所有其他具有“通用” IO功能的库也都有它,但是Guava是我第一个“入门”库。它震撼了:)

  • 如何在AngularJS中读取此流?我尝试使用以下代码在新窗口中将其作为PDF文件打开: 但我无法看到打开的窗口中的内容。

  • C++ 的流读取运算>>和流插入运算符<<可用来输入输出标准类型的数据。这两个运算符是 C++ 编译器在类库中提供的,可以处理包括类C语言中的char*字符串和指针在内的每一种内部数据类型。也可以重载运两个运算符以输入输出用户自定义类型的数据。图 8.3 中的程序演示了重载的流读取运算符和流插入运算符,它们用来处理用户自定义的电话号码类 PhoneNumber 的数据。程序假定输入的电话号码是正确

  • 在你打开一个流之后, 就可以在它上面执行I/O操作了. 使用哪种协议包装API创建了流并不重要, 它们都使用相同的访问API. 读 流的读写可以使用下面的API函数组合完成, 它们多数都是遵循POSIX I/O中对应的API规范的: int php_stream_getc(php_stream *stream); 从数据流中接收一个字符. 如果流上再没有数据, 则返回EOF. size_t php

  • 问题内容: 我写了一个非常简单的函数,可以从给定的URL下载图像,调整图像大小并上传到S3(使用’gm’和’knox’),我不知道我是否在正确地将流读取到缓冲区中。(一切正常,但这是正确的方法吗?) 另外,我想了解一些有关事件循环的知识,如何知道该函数的一次调用不会泄漏任何内容,也不会将’buf’变量更改为另一个已经运行的调用(否则这种情况是不可能的,因为回调是匿名的功能?) 问题答案: 总的来说

  • 我目前正试图从服务器读取图像文件,但得到的数据不完整或 这与缓冲区大小有关吗?我已经尝试使用静态大小而不是ContentLength。敬请指教。