Các dòng sau sẽ tải về một tập tin hình ảnh từ một quy định url
biến:Làm thế nào để chuỗi ghi luồng, ngay lập tức với một dòng đọc trong Node.js 0.10?
var filename = path.join(__dirname, url.replace(/^.*[\\\/]/, ''));
request(url).pipe(fs.createWriteStream(filename));
Và những dòng này sẽ mất hình ảnh đó và lưu vào MongoDB GridFS:
var gfs = Grid(mongoose.connection.db, mongoose.mongo);
var writestream = gfs.createWriteStream({ filename: filename });
fs.createReadStream(filename).pipe(writestream);
Chaining pipe
như thế này ném Lỗi: 500 không thể ống. Không có đường ống.
request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);
Điều này xảy ra bởi vì các tập tin hình ảnh chưa sẵn sàng để được đọc bài viết nào, phải không? Tôi nên làm gì để giải quyết vấn đề này? Lỗi: 500 Không thể ống. Không có đường ống.
Sử dụng như sau: Node.js 0.10.10, mongoose, yêu cầu và gridfs dòng thư viện.
Có, bạn chỉ có thể đọc từ các luồng có thể đọc hoặc song công không thể ghi được. Xem https://github.com/joyent/node/pull/4843. Để chuỗi đường ống, luồng cần phải song công tức là cả hai có thể đọc được và có thể ghi được – user568109