Получить файл из типа ввода - PullRequest
0 голосов
/ 12 сентября 2018

Нам нужно получить файл xls и получить его содержимое в формате json.Я могу это сделать, но с жестко запрограммированным путем к файлу xls, например:

    var url = "D:/ionic/Docs/Test.xlsx";

Что мне нужно сделать, это выбрать этот файл из тега ввода html и поместить его в var url.Как я могу это сделать?

Home.html

<input type="file" accept="all/*" [(ngModel)]="getfile" (change)="onFileSelected($event)" id="fileInput"/>

Home.ts код:

onFileSelected()
  {
    var url = //what do I do here ;

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

В целях безопасности браузерам не разрешен доступ к файловой системе.

Поэтому не трать свое время.

Но вы можете прочитать данные файла, как показано ниже.

HTML

<input type="file" (change)="onFileSelected($event)" accept="all/*"/>

TS

    onFileSelected(event) {

        let file = event.target.files[0];  

        let reader = new FileReader();

        reader.onload = (e: any) => {
           let fileData = e.target.result;
           console.log(fileData);
        };
       reader.readAsDataURL(file);
}

Рабочий пример

0 голосов
/ 12 сентября 2018
filename: string = '' ;
onFileSelected(event){
  let file = event.target.files[0];        
  this.filename= file.name;
}

Вы получите ваш файл в переменной filename .

...