чтение содержимого файла с главного компьютера - PullRequest
0 голосов
/ 25 марта 2020

В настоящее время я разрабатываю простое приложение для входа и чата в Angular.

. Чтобы выполнить шаг 2 процесса входа пользователей, API требует, чтобы я предоставил определенного пользователя ID.

Этот идентификатор пользователя находится в локальном файле для пользователей P C, более конкретно в C:\Users\name\AppData\Roaming\appfolder (это файл .dat .)

Мне нужно найти этот файл и прочитать его содержимое. Я также не хочу предлагать пользователю сделать это самостоятельно, это должно произойти "в фоновом режиме"

как я могу сделать это в AngularTs?

Я посмотрел на этот вопрос Angular 2 / Angular 4: Как я могу получить доступ к файлу из локальной системы? , но я не уверен, что я на правильном пути, так как я не хочу получать какие-либо файлы с сервера .

любая помощь будет оценена !!

1 Ответ

2 голосов
/ 25 марта 2020

Может быть, кто-то может дать лучший ответ, но, не предлагая пользователю выбрать файл, вы не сможете получить доступ к файлу в своей системе. Это не проблема Angular. В целях безопасности веб-браузер не разрешает Angular (и Javascript).

Одно из решений:

  1. Предложите пользователю выбрать файл в первый раз.
  2. Считайте содержимое файла, чтобы получить идентификатор клиента.
  3. Сохраните идентификатор клиента в локальном хранилище браузера.
  4. Во время входа ваш код Angular считывает локальное хранилище браузера и автоматически отправляет идентификатор клиента.

Чтобы прочитать содержимое файла после выбора, вы можете попробовать использовать FileReader.

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