如何使用node.js打开服务器上的文件
我正在使用一个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文件和.txtfile upload到服务器上的某个文件夹时,突然间我收到一个Error: ENOENT, no such file or directory 'meals.txt'
。
我正在使用Amazon EC2服务器,.js脚本和.txt文件位于同一个目录中。 也许这个.txt文件的权限有问题吗?
我已经试过将脚本指向~/folder/meals.txt
甚至整个文件的http链接,但是我得到了相同的结果。
感谢您的帮助!
节点将尝试从系统根目录读取文件。 您必须提供完整的path名称。
var path = require('path'); var txtpath = path.join(__dirname, 'folder_where_txt_file_is', 'txtfile.txt'); // now you can read the txt path