Sah*_*bov 11 pipe stream mongoose node.js gridfs
以下行将从指定的url变量下载图像文件:
var filename = path.join(__dirname, url.replace(/^.*[\\\/]/, ''));
request(url).pipe(fs.createWriteStream(filename));
Run Code Online (Sandbox Code Playgroud)
这些行将获取该图像并保存到MongoDB GridFS:
var gfs = Grid(mongoose.connection.db, mongoose.mongo);
var writestream = gfs.createWriteStream({ filename: filename });
fs.createReadStream(filename).pipe(writestream);
Run Code Online (Sandbox Code Playgroud)
链接pipe像这样抛出错误:500无法管道.不可管.
request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为图像文件还没有准备好被读取,对吧?我该怎么做才能解决这个问题?错误:500无法管道.不可管.
使用下面的:Node.js的0.10.10,猫鼬,要求和GridFS的流库.
log*_*yth 12
request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);
Run Code Online (Sandbox Code Playgroud)
与此相同:
var fileStream = fs.createWriteStream(filename);
request(url).pipe(fileStream);
fileStream.pipe(writestream);
Run Code Online (Sandbox Code Playgroud)
所以,问题是,你正在尝试.pipe一个WriteStream到另一个WriteStream.
小智 7
// create 'fs' module variable
var fs = require("fs");
// open the streams
var readerStream = fs.createReadStream('inputfile.txt');
var writerStream = fs.createWriteStream('outputfile.txt');
// pipe the read and write operations
// read input file and write data to output file
readerStream.pipe(writerStream);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19876 次 |
| 最近记录: |