下一行将从指定的url变量下载图像文件:
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。 不可管道。
pipe
request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);
发生这种情况是因为尚未准备好读取图像文件,对吗?我该怎么办才能解决此问题?错误:500无法管道。不可管道。
使用下面的: Node.js的0.10.10 , 猫鼬 , 要求 和 GridFS的流 库。
与此相同:
var fileStream = fs.createWriteStream(filename); request(url).pipe(fileStream); fileStream.pipe(writestream);
因此,问题在于您正在尝试.pipe彼此WriteStream融合WriteStream。
.pipe
WriteStream