首页 > 解决方案 > 访问本地目录以从 localhost 检索文件并回写

问题描述

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

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

只是不确定作为 Express 端(设置路由)和 Angular 端(使用 HttpClient)的一部分我需要做什么来显示。

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

标签: javascriptnode.jsangularexpresslocalhost

解决方案


您需要在 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) });

添加

我上面提供的示例只是回答您问题的基础知识。理想情况下,在文件路径的生产中,您应该使用“知道”如何在不同环境和文件系统中表现的Nodepath库。


推荐阅读