126 votes

Node.js, impossible d'ouvrir les fichiers. Erreur: ENOENT, stat './path/to/file'

J'ai développé un programme node.js en utilisant le framework express sur mon ordinateur, où tout se passe bien et sans problème.

Toutefois, lorsque j'exécute le programme sur mon appliance SUSE Studio, où il est destiné à vivre, un message d'erreur s'affiche lors de toute interaction de fichier.

 Error: ENOENT, stat './path/to/file'
 

J'ai vérifié que les autorisations de fichier sont correctes, ce qu'elles sont. Mon ordinateur et mon appareil exécutent différentes versions de noeud, si cela compte.

Des pensées?

186voto

loganfsmyth Points 25483

Les chemins spécifiés avec . sont relatifs au répertoire de travail actuel et non au fichier de script. Le fichier peut donc être trouvé si vous exécutez node app.js mais pas si vous exécutez node folder/app.js .

Pour créer un chemin relatif au script, vous devez utiliser la variable __dirname .

 __dirname + '/path/to/file'
 

5voto

AmirtharajCVijay Points 162

Voici le code pour utiliser votre app.js

l'entrée spécifie le nom du fichier

 res.download(__dirname+'/'+input);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X