Я использую Материал, чтобы выбрать файл. Вот оно:
<label for="uploadPicture" class="upload-file">
<mat-icon>add_a_photo</mat-icon>
</label>
<input type="file"
id="uploadPicture"
class="hidden-input"
accept="text/kml, .kml"
(change)="selectFile($event.target.files[0])">
<button mat-button (click)="onCancel()">Cancel</button>
<button mat-button (click)="onOk()" [disabled]="!selected">Ok</button>
Кажется, это работает нормально, и мой метод 'selectFile' вызывается правильно.
Проблема в том, что теперь? Мне нужно прочитать этот файл и разобрать его как файл XML.
Это экземпляр объекта Typescript File. Вот определение в lib.dom.d.ts
interface File extends Blob {
readonly lastModifiedDate: any;
readonly name: string;
readonly webkitRelativePath: string;
}
Я пытался найти документацию для этого класса, но не могу ее найти. Если есть определение машинописного файла, разве не должно быть машинописного способа его чтения? Все использует узел или JavaScript.
Обновление:
Вот код, который я использовал в итоге:
const fileReader = new FileReader();
let text: string;
fileReader.onload = e => {
text = fileReader.result;
console.log('result', text);
};
fileReader.readAsText(file);