Ho avuto a che fare con questo a lungo, quindi qualsiasi aiuto è molto apprezzato. Quindi, sto scaricando un file e salvandolo usando PhantomJS e CasperJS. Permettetemi di sottolineare che non sono il problema. Il file viene scaricato senza problemi.NodeJS fs.open errore su file esistente (non un problema di percorso)
Il problema è che NodeJS non riconoscerà o aprirà il file dopo che è stato scaricato. Non riesco a fs.stat, fs.open, ecc. Niente funziona.
io condividere il codice in un secondo, ma ecco il 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)
Come potete vedere, sto stampando il nome del file creato, quindi la stampa il contenuto della directory e quindi cercando di aprire il file. Come puoi vedere, bdTcK6hSdownload.csv esiste nella directory ma fallisce all'apertura.
Il codice semplice frammento è qui:
console.log('Here: ' + filename);
filenames = fs.readdirSync('./caspertemp/');
console.log(filenames);
var fd = fs.openSync('./caspertemp/' + filename, 'r');
console.log(fd);
C'è un gruppo più in corso, prima e dopo questo, ma nessuno di esso importa dal momento che questa funzione di base non riesce. Per favore aiuto! Questo è stato fastidioso per settimane.
Hmm. Hai controllato le autorizzazioni? Esegui anche node.js In questo modo: strace ./node - questo traccerà tutte le chiamate di sistema e stai cercando un open(), controlla che il nodo del percorso stia usando, ecc. Questo ti dirà cosa sta effettivamente facendo il processo del nodo. – EdH
@EdH Per autorizzazioni Sì. Tutti i file hanno le stesse autorizzazioni: '-rw-r - r-- 1 Personale domestico 216102 Feb 3 15:00 bdTcK6hSdownload.csv' Vale anche la pena notare che se riavvio il nodo posso accedi al file senza problemi – Brandon
@ EdH.Hmm, non posso eseguire in modalità strace per qualche motivo: mac: dev Home $ strace -fF -o strace.lo g node app.js -bash: strace: comando non trovato - Non sono sicuro di cosa sto facendo male con quel comando – Brandon