从主机读取文件内容

reading file contents from host PC

我目前正在 Angular 中设计一个简单的登录和聊天应用程序。

为了完成用户登录过程的第 2 步,API 要求我提供特定的用户 ID。

此用户 ID 位于用户 PC 上的本地文件中,更具体地说是 C:\Users\name\AppData\Roaming\appfolder(它是一个 .dat 文件。)

我需要找到那个文件并阅读它的内容。 我也不想提示用户自己这样做,这应该发生 "in the background"

如何在 AngularTs 中执行此操作?

我查看了这个问题,但我不确定我是否在正确的轨道上,因为我不想从服务器检索任何文件。

任何帮助将不胜感激!!

也许有人可以提供更好的答案,但如果不提示用户 select 文件,您将无法访问他们系统上的文件。这不是 Angular 问题。出于安全原因,Web 浏览器不会允许 Angular(和 Javascript)。

一个解决方案:

  1. 第一次提示用户 select 文件。
  2. 读取文件内容以获取客户端 ID。
  3. 将客户端 ID 保存在浏览器本地存储中。
  4. 登录期间,您的 Angular 代码会读取浏览器本地存储并自动发送客户端 ID。

要读取selection之后的文件内容,可以尝试使用FileReader。

readFile(file: File) {
    var reader = new FileReader();
    reader.onload = () => {
        console.log(reader.result);
    };
    reader.readAsText(file);
}