Ci scusiamo in anticipo, ho un paio di domande su createReadStream() qui.createReadStream(). Pipe() Callback
Fondamentalmente quello che sto facendo è creare dinamicamente un file e trasmetterlo all'utente usando fs una volta finito. Sto usando .pipe() per assicurarmi che io stia girando correttamente (smetti di leggere se il buffer è pieno, ricomincia da capo una volta che non lo è, ecc.) Ecco un esempio del mio codice che ho finora.
http.createServer(function(req, res) {
var stream = fs.createReadStream('<filepath>/example.pdf', {bufferSize: 64 * 1024})
stream.pipe(res);
}).listen(3002, function() {
console.log('Server listening on port 3002')
})
che ho letto in un'altra domanda StackOverflow (mi dispiace, persa) che se si sta utilizzando il res.send regolare() e res.end() che .pipe() grandi opere, in quanto chiama il .send e .end e aggiunge il throttling.
Che funziona bene per la maggior parte dei casi, tranne che sto volendo rimuovere il file una volta che lo stream è completo e non usando .pipe() significa che dovrò gestire il throttling me stesso solo per ottenere una richiamata.
Quindi immagino che mi piacerebbe creare il mio oggetto "res" falso che ha un metodo .send() e .end() che fa quello che solitamente fa res, comunque su .end () Inserirò il codice aggiuntivo per ripulire il file generato. La mia domanda è fondamentalmente come potrei farlo?
L'aiuto con questo sarebbe molto apprezzato, grazie!
possibile duplicato di [Scarica file dal server NodeJS] (http://stackoverflow.com/questions/7288814/download-file-from-nodejs-server) – loganfsmyth
Che effettivamente risponda alla domanda di download del mio file, grazie! Aggiornerò la domanda per riflettere solo la domanda .pipe(). –