从输入类型获取文件

时间:2018-09-12 08:45:55

标签: angular typescript ionic-framework ionic2 ionic3

我们需要获取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 :(得分:2)

filename: string = '' ;
onFileSelected(event){
  let file = event.target.files[0];        
  this.filename= file.name;
}

您将在 filename 变量中获取文件。

答案 1 :(得分:0)

出于安全原因,不允许浏览器访问文件系统。

因此,请不要浪费时间。

但是您可以按以下方式读取文件数据。

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);
}

Working example