typescript - Visa uppladdad bild omedelbart efter uppladdning i angular
Jag försöker visa en uppladdad bild direkt efter att ha använt filuppladdning i Angular.
Jag försökte få URL:en från TypeScript-filen för att visa den så i HTML-filen:
<img src={{url}}>
Jag har filen så här:
html:
<input type="file" (change)="onFileChanged($event)" >
ts :
onFileChanged(event) {
this.selectedFile = event.target.files[0]
console.log(this.selectedFile)
}
Vad ska jag göra för att få bilden och visa den omedelbart?
Svar #1
onFileChanged(event) {
const files = event.target.files;
if (files.length === 0)
return;
const mimeType = files[0].type;
if (mimeType.match(/image\/*/) == null) {
this.message = "Only images are supported.";
return;
}
const reader = new FileReader();
this.imagePath = files;
reader.readAsDataURL(files[0]);
reader.onload = (_event) => {
this.url = reader.result;
}
}
Svar #2
onFileChanged(e) {
let reader = new FileReader();
if(event.target.files && event.target.files.length > 0) {
let file = event.target.files[0];
reader.readAsDataURL(file);
reader.onload = () => {
this.url = reader.result;
};
}
}
