【发布时间】:2019-07-27 17:35:07
【问题描述】:
我想获取 base64 字符串并用它来显示图像。
下面是 HTML 文件。我想使用base64字符串并在img标签中使用:
<ion-content>
<ion-card>
<img src={{imageFileBinary}} />
<ion-card-header>
<form>
<ion-input id="myform" type="file" name="file" (change)="postMethod($event.target.files)"></ion-input>
</form>
<ion-card-title>Nick</ion-card-title>
</ion-card>
</ion-content>
我从 .ts 文件中获取 imageFileBinary。
下面是 .ts 文件:
export class MyprofilePage implements OnInit {
imageFileBinary;
userDetails: UserDetails;
constructor(private profileDetailService: ProfileDetailsService, private httpClient: HttpClient) {}
fileToUpload;
getProfileDetails() {
this.profileDetailService.getUserDetails('email').subscribe((userDetails: UserDetails) => {
this.imageFileBinary = userDetails.imageFileBinary
});
}
postMethod(files: FileList) {
this.fileToUpload = files.item(0);
let formData = new FormData();
formData.append('file', this.fileToUpload, this.fileToUpload.name);
this.httpClient.post("http://localhost:8080/uploadFile", formData).subscribe((val)=> {
console.log(val);
});
return false;
}
ngOnInit() {
this.getProfileDetails();
}
}
How can I use the base64 String in the img tag?
【问题讨论】:
-
试试这样的:
<img src="data:image/JPEG;base64,{{imageFileBinary}}"/> -
如果在下载之前不知道图像类型,这可能不起作用。 (因为它总是假设数据是“JPEG”)。您应该考虑使用同时保留数据类型的 DataUrl 字符串。 (见下面我的回答)