我想将上传的文件编码到base64,以便将它们传递给请求.问题是,我正在使用Angular 2和Typescript,但我找不到任何关于如何做到这一点的信息.我发现在Javascript中可以用canvas完成,但我不知道如何用Typescript实现代码.
<input type="file" class="form-control" accept="image/*" multiple
[(ngModel)]="spot.images" name="images">
我想将上传的文件编码到base64,以便将它们传递给请求.问题是,我正在使用Angular 2和Typescript,但我找不到任何关于如何做到这一点的信息.我发现在Javascript中可以用canvas完成,但我不知道如何用Typescript实现代码.
<input type="file" class="form-control" accept="image/*" multiple
[(ngModel)]="spot.images" name="images">
所以我找到了解决办法:
compontent.ts
changeListener($event) : void {
this.readThis($event.target);
}
readThis(inputValue: any): void {
var file:File = inputValue.files[0];
var myReader:FileReader = new FileReader();
myReader.onloadend = (e) => {
this.image = myReader.result;
}
myReader.readAsDataURL(file);
}
component.html
<input type="file" accept="image/*" (change)="changeListener($event)">