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 № 1En 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