Bra*_*don 13 javascript file-io fs node.js
我一直在处理这个问题,所以任何帮助都非常感谢.所以,我正在下载一个文件并使用PhantomJS和CasperJS保存它.我要指出它们不是问题.下载文件没有问题.
问题是NodeJS在下载后无法识别或打开文件.我不能fs.stat,fs.open等.什么都行不通.
我将在一秒钟内分享代码,但这是日志:
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)
Run Code Online (Sandbox Code Playgroud)
如您所见,我打印出创建的文件名,然后打印目录的内容,然后尝试打开该文件.如您所见,bdTcK6hSdownload.csv存在于目录中,但在打开时失败.
简单的代码片段在这里:
console.log('Here: ' + filename);
filenames = fs.readdirSync('./caspertemp/');
console.log(filenames);
var fd = fs.openSync('./caspertemp/' + filename, 'r');
console.log(fd);
Run Code Online (Sandbox Code Playgroud)
在此之前和之后还有更多的事情发生,但由于这个基本功能失败,所以没有任何重要事项.请帮忙!这已经唠叨了几个星期.
我的猜测是,这是当前工作目录中的差异。您是否从同一目录启动 casperJS 和 node.js 进程?他们中的任何一个都会在运行时更改工作目录吗?尝试这样的操作,其中节点将为您提供当前正在执行的文件__dirname
的目录路径.js
var path = require("path");
var filename = "bdTcK6hSdownload.csv";
var csvPath = path.resolve(path.join(__dirname, "caspertemp", filename));
console.log(csvPath);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30072 次 |
最近记录: |