Ich möchte die Breite und Höhe eines hochgeladenen Bildes mit ng2-file-upload und Angular 6 abrufen und überprüfen.
Mein Code ist bisher:
constructor() {
this.uploader = this.initializeUploader("url");
}
public uploader;
private initializeUploader(url: string): FileUploader {
const uploadOptions: FileUploaderOptions = {
allowedMimeType: ['image/jpeg', 'image/png' ],
}
const uploader = new FileUploader(uploadOptions);
uploader.onAfterAddingFile = item => {
console.log(item);
//Want to get width here
}
return uploader;
}
und der HTML-Code:
<input type="file" ng2FileSelect [uploader]="uploader" />
Ich habe nach Lösungen gesucht, aber nichts hat bei mir geholfen. Habe die Idee gefunden
Upload.imageDimensions(file).then()
hier . Aber ich verstehe nicht, wie / wo "Upload" importiert werden soll. Habe auch die Lösung zum Hinzufügen gefunden
ngf-min-height="1"
im input-Element, aber ich kann nicht finden, wo ich den Fehler "fangen" kann, wenn die Größe des Eingabebildes falsch ist.
Wandeln Sie Ihre Datei in eine base64 um und erstellen Sie ein Image mit dieser Basis als Quelle. Während des load
Hooks können Sie die Größe des Bildes abrufen. Hier ist ein Arbeitsschnipsel!
function change() {
const input = document.querySelector('input');
const file = input.files[0];
getBase64(file).then(base64 => {
const img = new Image();
img.onload = () => console.log(img.width, img.height);
img.src = base64;
});
}
function getBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
}
<input type="file" onchange="change()">
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen