/ / Comment servir un fichier lu avec fs.readFile - node.js, fichier, téléchargement

Comment servir un fichier lu avec fs.readFile - node.js, fichier, téléchargement

je "développe une application avec nodejs. Je dois lire un fichier local sur le serveur, j'utilise cette fonction:

fs.readFile(path, "utf8", function (err,data) {}

comment puis-je servir les "données" au client? est bon de l'ouvrir dans un nouvel onglet ou de le télécharger sur le client.

--MISE À JOUR-- J'essaie aussi d'utiliser cette solution .. est-ce un bon moyen?

res.writeHead(200, {"Content-Type": "application/pdf"});
res.write(data);
res.end();

Réponses:

2 pour la réponse № 1

En supposant que vous utilisez une sorte de serveur HTTP ici, vous recevrez un response objet dans le gestionnaire. Cet objet est en fait un flux. J'utilise le serveur HTTP de nœud intégré ici pour mon exemple.

http.createServer(function(req, res){
fs.createReadStream(path).pipe(res);
});

Dans Express et hapi il existe un type de réponse spécifique au fichier d'envoi si vous utilisez ceux-ci:

Hapi: reply.file

Express: res.sendFile