La seguente riga scaricherà un file immagine da un determinato url
variabile:Come concatenare lo stream di scrittura, immediatamente con un flusso di lettura in Node.js 0.10?
var filename = path.join(__dirname, url.replace(/^.*[\\\/]/, ''));
request(url).pipe(fs.createWriteStream(filename));
E queste righe avrà quell'immagine e salvare MongoDB GridFS:
var gfs = Grid(mongoose.connection.db, mongoose.mongo);
var writestream = gfs.createWriteStream({ filename: filename });
fs.createReadStream(filename).pipe(writestream);
concatenazione pipe
come questo getta Errore: 500 Can not Pipe. Non pipeable.
request(url).pipe(fs.createWriteStream(filename)).pipe(writestream);
Questo accade perché il file immagine non è pronto per essere ancora letto, giusto? Cosa devo fare per ovviare a questo problema? Errore: 500 Can not Pipe. Non pipeable.
Utilizzando il seguente: Node.js 0.10.10, mangusta, richiesta e GridFS-stream biblioteche.
Sì, è possibile solo leggere da flussi leggibili o duplex non modificabili. Vedi https://github.com/joyent/node/pull/4843. Per concatenare i tubi, il flusso deve essere duplex, cioè entrambi leggibili e scrivibili – user568109