如何使用node.js在服务器上打开文件

时间:2016-02-07 19:25:45

标签: javascript node.js amazon-ec2 fs

我使用Node.js脚本使用此函数从.txt文件中读取并返回随机行:

function pickMeal(){
var meals = fs.readFileSync('meals.txt','utf8');
var mealsArray = meals.toString().split('\n');
return mealsArray[Math.floor(Math.random()*mealsArray.length)];
}

在我的桌面上,它运行正常。当我将.js文件和.txt文件上传到服务器上的文件夹时,我突然得到Error: ENOENT, no such file or directory 'meals.txt'

我使用的是Amazon EC2服务器,.js脚本和.txt文件位于同一目录中。也许.txt文件的权限有问题吗?

我已经尝试将脚本定向到~/folder/meals.txt甚至文件的整个http链接,但我得到了相同的结果。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Node将尝试从系统根目录中读取文件。您必须提供完整的路径名称。



var path = require('path');
var txtpath = path.join(__dirname, 'folder_where_txt_file_is', 'txtfile.txt');
// now you can read the txt path