我目前有一个Angular应用程序(MEAN Stack),我在Windows计算机上本地运行。作为Node / Express的新手,我希望能够从http://localhost:3006
访问我在主应用程序目录中已设置的本地目录,称为/myfiles
,我不确定该怎么做。>
我不确定的是,如何创建一个端点来访问localhost
目录中的/myfiles
并从中读取这些文件并在Angular Material对话框中显示它们?
只是不确定在Express端(设置路由)然后在Angular端(使用HttpClient)中需要显示什么。
此外,我还需要写回到/myfiles
目录,在该目录中,我需要根据Angular中的文件选择执行复制命令。
答案 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,它“知道”在不同环境和文件系统中的行为。