gpt4 book ai didi

javascript - NodeJS fs.open 在现有文件上失败(不是路径问题)

转载 作者:IT老高 更新时间:2023-10-28 23:08:43 26 4
gpt4 key购买 nike

我已经处理这个问题很长时间了,因此非常感谢任何帮助。所以,我正在下载一个文件并使用 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)

如您所见,我打印出创建的文件名,然后打印目录的内容,然后尝试打开文件。如您所见,bdTcK6hSdownload.csv 存在于目录中,但打开失败。

简单的代码片段在这里:

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

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

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

在此之前和之后还有很多事情要做,但这些都不重要,因为这个基本功能失败了。请帮忙!这已经困扰了好几个星期了。

最佳答案

我的猜测是当前工作目录存在差异。您是否从同一目录启动 casperJS 和 node.js 进程?他们中的任何一个是否在运行时更改工作目录?尝试这样的事情, Node 的 __dirname 将为您提供当前正在执行的 .js 文件的目录路径

var path = require("path");
var filename = "bdTcK6hSdownload.csv";
var csvPath = path.resolve(path.join(__dirname, "caspertemp", filename));
console.log(csvPath);

关于javascript - NodeJS fs.open 在现有文件上失败(不是路径问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com