如何在流星后端读取文件?

时间:2018-11-09 03:07:00

标签: javascript node.js meteor

由于某种原因,我需要用蛮力修改我的mongodb。 预期的数据在文件中,我需要通过读取的文件流更新mongodb的值。在node.js的帮助下,我生成了这样的代码,

const fs = require('fs');
    fs.open('./f.csv', 'r', (err, fd) => {
        if(!err) {
            fs.readFile('./server/f.csv', 'utf8', (err,data)=>{console.log(data);});

    }
});

但是,现在我很难找到该文件。执行会引发错误:

  

{错误:ENOENT:没有这样的文件或目录,打开'./f.csv'错误号:-2,代码:'ENOENT',系统调用:'open',路径:'./ f.csv'} < / p>

我试图在Meteor的公用文件夹或服务器文件夹中找到该文件,这也是Meteor的后端,但是这种努力是徒劳的。那么如何使代码在Meteor的后端找到文件?

欢迎任何建议。

1 个答案:

答案 0 :(得分:3)

最简单的解决方案是将文件放入/private中,并使用Assets模块进行访问: https://docs.meteor.com/api/assets.html

示例:如果将文件放入/private/f.csv

const data = Assets.getText('f.csv');
console.log(data)
// ... Do something with that data