Ionic(Angular)-读取文件并解析其内容

时间:2019-01-17 17:48:55

标签: angular file ionic-framework

我正在一个项目中,我想从文件中读取内容,并希望从其数据中获取有用的信息并将其显示给用户,例如,假设我有一个文本文件(.txt),其中有10个诸如“假冒上学”,“罗汉买了一支新笔”等字样。 我知道这是一个愚蠢的示例,但只想提供基本概念。我想以Ionic的形式阅读此内容,并希望在经过某种操作后以优美而优雅的方式向用户展示。 我正在使用cordova文件选择器插件,现在要读取文件内容,如上所述。 任何帮助将不胜感激,在此先感谢:)

我尝试使用List<DataObject> myList = GuardarGrupos("0,-1|1,-1|2,-1|3,-1|4,-1|5,-1|6,-1|7,-1|8,-1"); string line = string.Join(",", myList.Select(x => x.X); string group = string.Join(",", myList.Select(y => y.Y); get函数来读取文件,但是不知道如何将其与所选文件一起使用。我做了下面的函数,现在我不知道如何将该文件作为参数传递给该函数

http

1 个答案:

答案 0 :(得分:1)

这是您可以使用的文件上传功能。这使用FileReaderread more

将此添加到您的组件文件,并通过将其绑定到事件来在模板中使用它。

我已经添加了我认为有用的注释,但是如果您在任何一行中感到困惑,请告诉我。

public uploadFile(files: FileList) {
    let results = [];
    if (files && files.length > 0) {
      const file: File = files.item(0);//assuming only one file is uploaded
      console.log('Uplaoded file, Filename:' + file.name + 'Filesize:' + file.size + 'Filetype:' + file.type);
      const reader: FileReader = new FileReader();
      reader.readAsText(file);
      reader.onload = (e) => {
        const fileContent: string = reader.result as string;
        console.log('fileContent:' + fileContent);
        const lines: string[] = fileContent.split('\n'); //this depends on your line end character, I'm using \n in general
        //lines is an array of string, such as "Sham went to school", loop over it and process as you like
      };
    }
  }

您可以在模板中使用它,例如:

<input type="file"  (change)="uploadFile($event.target.files)">