首页 > 解决方案 > 如何在 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' errno:-2,代码:'ENOENT',系统调用:'open',路径:'./f.csv'}

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

欢迎任何建议。

标签: javascriptnode.jsmeteor

解决方案


最简单的解决方案是将文件放入/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

推荐阅读