Typescript Open File Dialog для загрузки файла из Angular сервиса без использования элемента ввода - PullRequest
1 голос
/ 19 февраля 2020

У меня есть Angular служба нажатия клавиш, которая прослушивает нажатия клавиш и выполняет действия, основанные на нажатой клавише.

У меня есть сочетание клавиш, которое я хочу, чтобы оно открывало диалог файлов, & пользователь должен выбрать указанный c JSON файл для загрузки, а затем использовать эти JSON данные и преобразовать их в объект для использования в системе.

Обычный способ загрузки файла: через HTML: <input type="file" />. Однако я нахожусь в службе, и мне не нужен элемент ввода, и при этом у меня нет, где поместить это. поскольку я не думаю, что сервис должен содержать HTML.

Как выполнить sh, чтобы вызвать открытие диалогового окна файла в функции и получить данные выбранного файла JSON, который не содержит входных данных и не загружает какие-либо внешние npm пакеты.

1 Ответ

1 голос
/ 20 февраля 2020

К сожалению, <input type="file"> немного особенный в HTML. Вы не можете сгенерировать в JavaScript такое событие, которое соответствовало бы щелчку по этому входу.

Единственный способ вызвать это программно - это иметь скрытый компонент пользовательского интерфейса, в который добавляется этот вход, а затем срабатывает щелчок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...