DGKumar Ответов: 1

Как читать XML-контент из файла загрузки с помощью angularjs 2 и typescript?


Я создал следующие 2 вещи и пытаюсь прочитать содержимое файла, но не могу получить содержимое и получить ошибки, такие как файлы

<input type='file' accept='text/xml' (change)='openFile(fileupload)'">

openFile(fileupload) {
    let input = fileupload.target;
    for (var index = 0; index < input.files.length; index++) {
        let reader = new FileReader();
        reader.onload = () => {
            // this 'text' is the content of the file
            var text = reader.result;
        }
        reader.readAsText(input.files[index]);
    };


Что я уже пробовал:

Я пробовал с этими

<input type='file' accept='text/xml' (change)='openFile(fileupload)'">

openFile(fileupload) {
    let input = fileupload.target;
    for (var index = 0; index < input.files.length; index++) {
        let reader = new FileReader();
        reader.onload = () => {
            // this 'text' is the content of the file
            var text = reader.result;
        }
        reader.readAsText(input.files[index]);
    };


ошибки:
Cannot read property 'files' of undefined


Не могли бы вы помочь в этом вопросе, как получить содержимое любого файла, который был загружен из управления загрузкой файлов.

1 Ответов

Рейтинг:
1

Richard Deeming

Измените свой ввод на:

<input type='file' accept='text/xml' onchange='openFile(this)'">

Помимо синтаксической ошибки в вашем атрибуте, вы пытаетесь передать глобальную переменную с именем fileupload к вашей функции. Но такой переменной не существует.

Вам также нужно будет изменить свою функцию, так как входные данные передаются непосредственно в эту функцию:
openFile(fileupload) {
    let input = fileupload; // Remove: .target;
    ...
};