nodejs - fs.createReadStream().pipe, comment connaître taille du fichier en question
Je suis en train d'écrire mon propre module HTTP, si j'ai besoin de réponse avec un fichier binaire, par exemple .jpg,
Je charge le fichier à l'aide de: body = fs.createReadStream(pathOfFile)
.
Quand je générer la réponse que j'ai utiliser:body.pipe(socket);
Mais que sa réponse HTTP, j'ai eu à ajouter un Content-Length
en-tête.
Je ne pouvais pas trouver un moyen facile de le faire, fs.stat ne donne pas le résultat immédiatement, mais seulement après que j'ai appelé pipe.
De toute façon de savoir ce qu'il faut envoyer dans Content-Length
en-tête. ?
Grâce.
Il est difficile de dire si vous vous posez au sujet de la durée de fichiers, ou la largeur et la hauteur des images
\-:
OriginalL'auteur user1066986 | 2011-12-20
Vous devez vous connecter pour publier un commentaire.
Bien vous devez seulement envoyer la réponse et le tuyau le fichier une fois que vous obtenez la taille avec fs.stat, comme suit:
OriginalL'auteur alessioalex
Il y a aussi une version synchrone (puisque vous serez le blocage d'e/S de fichier, de toute façon...) comme mentionné dans la présente d'autres post
OriginalL'auteur Spike0xff