アップロードフォームをAngular 2 ts(2.2.1)で作成しようとしています。 CSVファイルですが、httpサービスに直接送信されるファイルではなく、ファイルをブラウザで最初に検証する必要があります。FileReaderから角2のデータを取得
これまでのところ私はすでにファイルをアップロードし、このコードのコンソールでそれを印刷することができます。
HTML入力ファイルに対して、私が設定している私の角度成分で
<input type="file" (change)="changeListener($event)" #input />
をアップロードeventListnerとFileリーダーを使用します。
export class UploadComponent { public fileString; constructor() { this.fileString; } changeListener($event): void { this.readThis($event.target); } readThis(inputValue: any): void { var file: File = inputValue.files[0]; var myReader: FileReader = new FileReader(); var fileType = inputValue.parentElement.id; myReader.onloadend = function (e) { //myReader.result is a String of the uploaded file console.log(myReader.result); //fileString = myReader.result would not work, //because it is not in the scope of the callback } myReader.readAsText(file); } }
このコードは、これまで完全に正常に動作します。
しかし、角度成分でアクセスできるように、読者からのデータを格納する方法が見つかりませんでした。
myReader.onloadend()
コールバック関数は、コンポーネントの変数にアクセスできません。これらの変数を注入する方法はありますか?
コンポーネントの変数fileString
に読み込みデータを取得するにはどうすればよいですか?あなたは、変数にアクセスできるように
myReader.onloadend = (e) => {
console.log(myReader.result);
this.fileString = myReader.result;
};
:
ありがとうございました。あなたは学習を止めることはありません。 – kacase
完璧な答え – MurWade