NodeJS-fs.öffnen Sie andernfalls auf vorhandenen Datei (und nicht ein Pfad-Problem)

Ich habe den Umgang mit diesem für eine lange Zeit, so dass jede Hilfe wird sehr geschätzt. Also, ich bin das herunterladen der Datei und speichern Sie es mit PhantomJS und CasperJS. Lassen Sie mich darauf hinweisen, dass Sie sind nicht das Problem. Die Datei, die heruntergeladen wird, ohne ein problem.

Das problem ist, dass NodeJS wird nicht erkannt oder die Datei öffnen, nachdem es heruntergeladen wird. Ich kann nicht fs.stat, fs.offen, etc.. Nichts funktioniert.

Werde ich zu teilen Sie den code in eine zweite, aber hier ist der log:

Here: bdTcK6hSdownload.csv

[ '2puzZMeLdownload.csv',
  '2s5ICbKNdownload.csv',
  'bdTcK6hSdownload.csv',
  'izIfagwCdownload.csv' ]

fs.js:230

return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);

Error: ENOENT, no such file or directory './caspertemp/bdTcK6hSdownload.csv'

at Object.openSync (fs.js:230:18)
at Object.processCSV (/Users/Home/dev/node_modules/inviter/index.js:64:29)
at /Users/Home/dev/node_modules/inviter/index.js:36:33
at ChildProcess.exithandler (child_process.js:281:7)
at ChildProcess.emit (events.js:70:17)
at maybeExit (child_process.js:361:16)
at Process.onexit (child_process.js:397:5)

Wie Sie sehen können, bin ich für den Ausdruck der erstellten Datei-Namen, dann drucken Sie den Inhalt des Verzeichnisses und dann versuchen, die Datei zu öffnen. Wie Sie sehen können, bdTcK6hSdownload.csv im Verzeichnis vorhanden, aber scheitert auf öffnen.

Einfachen code-snippet hier:

console.log('Here: ' + filename);

filenames = fs.readdirSync('./caspertemp/');
console.log(filenames);

var fd = fs.openSync('./caspertemp/' + filename, 'r');
console.log(fd);

Es gibt eine Menge mehr Los, vor und nach dieser, aber keiner der es darauf ankommt, da diese grundlegende Funktion fehlschlägt. Bitte helfen Sie mit! Dies wurde nörgeln seit Wochen.

Hmm. Haben Sie überprüft, Berechtigungen? Auch, laufen node.js wie: strace ./Knoten - diese verfolgen alle das system fordert, und Sie sind auf der Suche für ein open(), überprüfen Sie die Pfad-Knoten, etc. Dies wird Ihnen sagen, was die Knoten-Prozess eigentlich macht.
Für die Berechtigungen ja. Alle Dateien die gleichen Berechtigungen: -rw-r--r-- 1 Home staff 216102 Feb 3 15:00 bdTcK6hSdownload.csv Es ist auch erwähnenswert, dass, wenn ich neu Knoten kann ich auf die Datei zugreifen, ohne ein problem.
Ich kann nicht laufen in der strace-Modus für einige Grund: mac:dev Home$ strace -fF -o strace.log-Knoten app.js -bash: strace: Befehl nicht gefunden - Nicht sicher, was ich falsch mache mit dem Befehl
Verwendest du eine aktuelle version von node? Haben Sie überprüft, die Problem-queue? Es gibt eine Reihe von Windows-Probleme für ENOENT, obwohl die meisten sind nun geschlossen. github.com/joyent/node/issues/search?q=ENOENT
Ja, ich bin mit Knoten 0.6.7 auf OS X Lion. Ich sollte Hinzugefügt haben, dass für die Frage.

InformationsquelleAutor Brandon | 2012-02-03

Schreibe einen Kommentar