访问本地目录以从本地主机检索文件并回写

时间:2018-08-20 13:42:05

标签: javascript node.js angular express localhost

我目前有一个Angular应用程序(MEAN Stack),我在Windows计算机上本地运行。作为Node / Express的新手,我希望能够从http://localhost:3006访问我在主应用程序目录中已设置的本地目录,称为/myfiles,我不确定该怎么做。

我不确定的是,如何创建一个端点来访问localhost目录中的/myfiles并从中读取这些文件并在Angular Material对话框中显示它们?

只是不确定在Express端(设置路由)然后在Angular端(使用HttpClient)中需要显示什么。

此外,我还需要写回到/myfiles目录,在该目录中,我需要根据Angular中的文件选择执行复制命令。

1 个答案:

答案 0 :(得分:1)

您将要在Express中创建一个端点,Angular应用程序可以调用该端点来提供文件。

我假设您要读取和发送的文件是JSON文件。这是您可以访问的端点的一个非常简单的示例,该端点会将文件返回到前端。 在您的Angular代码中,您将get调用/myfile

var fs = require("fs");

app.get('/myFile', (req, res) => {
     var filepath = __dirname + '/myfiles/thefile.json';
     var file = fs.readFileSync(filepath, encoding);
     res.json(JSON.parse(file));
});

然后在Angular中,您将得到类似

http.get('/myfile').subscribe( (data) => { console.log("The data is: ", data) });

添加

我上面提供的示例只是回答您问题的基础。理想情况下,在生产文件路径时,您应该使用Node path library,它“知道”在不同环境和文件系统中的行为。