javascript - 访问本地目录以从 localhost 检索文件并回写
问题描述
我目前有一个 Angular 应用程序(MEAN Stack),我在我的 Windows 机器上本地运行。作为 Node/Express 的新手,我希望能够访问http://localhost:3006
我在我的主应用程序目录中设置的本地目录,/myfiles
我不确定该怎么做。
我不确定的是,如何创建一个端点来从目录中访问和读取这些文件localhost
并/myfiles
在 Angular Material 对话框中显示它们?
只是不确定作为 Express 端(设置路由)和 Angular 端(使用 HttpClient)的一部分我需要做什么来显示。
除上述内容外,我还需要写回/myfiles
目录,在该目录中我需要根据 Angular 中的文件选择执行复制命令。
解决方案
您需要在 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
库。
推荐阅读
- typescript - 如何使用 Typescript 的引用和构建模式将 mono repo 编译为无服务器包?
- swift - viewDidLoad() 中的 Swift 4 变量初始化
- codenameone - ScaleImageLabel 不会在更大的屏幕上缩放图像
- c# - MSTest 扩展(获取测试类实例)
- perl - 如果基于条件的查找不起作用
- python - GSuite Api 访问:客户端未经授权使用此方法检索访问令牌
- python - 网络使用文本文件抓取 H1 标签的多个 url
- c# - 使用 Xamarin Forms,在 App.xaml 中使用 x:Static 内部 x:Key= 不起作用
- ruby-on-rails - 路线 / after_sign_in_path_for 不适用于生产(Rails 5.1)
- java - Spring RestController:返回 JSON 资源