Wie kann ich die Dateigröße, Bildhöhe und -breite vor dem Hochladen auf meine Website mit jQuery oder JavaScript ermitteln?
javascript
jquery
html
dimensions
image-size
Afshin
quelle
quelle
Antworten:
Hochladen mehrerer Bilder mit Vorschau der Infodaten
Verwenden von HTML5 und der Datei-API
Beispiel mit URL-API
Die Bildquellen sind eine URL, die das Blob-Objekt darstellt
<img src="blob:null/026cceb9-edr4-4281-babb-b56cbf759a3d">
Beispiel mit der FileReader-API
Falls Sie Bildquellen als lange Base64-codierte Datenzeichenfolgen benötigen
<img src="data:image/png;base64,iVBORw0KGg... ...lF/++TkSuQmCC=">
quelle
Wenn Sie das jQuery-Validierungs-Plugin verwenden können, können Sie dies folgendermaßen tun:
Html:
JavaScript:
Die Funktion wird als Ab-Onload-Funktion übergeben.
Der Code wird von hier übernommen
quelle
Demo
Nicht sicher, ob es das ist, was Sie wollen, aber nur ein einfaches Beispiel:
quelle
Hier ist ein reines JavaScript-Beispiel, wie Sie eine Bilddatei auswählen, anzeigen, die Bildeigenschaften durchlaufen, das Bild von der Zeichenfläche in ein IMG-Tag umwandeln und den Bildtyp in der Größe explizit auf JPEG setzen.
Wenn Sie mit der rechten Maustaste auf das oberste Bild im Canvas-Tag klicken und Datei speichern unter wählen, wird standardmäßig ein PNG-Format verwendet. Wenn Sie mit der rechten Maustaste klicken und Datei als unteres Bild speichern, wird standardmäßig ein JPEG-Format verwendet. Jede Datei mit einer Breite von mehr als 400 Pixel wird auf eine Breite von 400 Pixel und eine Höhe proportional zur Originaldatei reduziert.
HTML
SKRIPT
Hier ist eine jsFiddle:
jsFiddle Wählen Sie eine Bilddatei aus, zeigen Sie sie an, rufen Sie sie ab und ändern Sie die Größe einer Bilddatei
Wenn Sie in jsFiddle mit der rechten Maustaste auf das obere Bild klicken, das eine Leinwand ist, erhalten Sie nicht die gleichen Speicheroptionen wie durch Klicken mit der rechten Maustaste auf das untere Bild in einem IMG-Tag.
quelle
Soweit ich weiß, gibt es keine einfache Möglichkeit, dies zu tun, da Javascript / JQuery keinen Zugriff auf das lokale Dateisystem hat. Es gibt einige neue Funktionen in HTML 5, mit denen Sie bestimmte Metadaten wie die Dateigröße überprüfen können, aber ich bin nicht sicher, ob Sie die Bildabmessungen tatsächlich erhalten können.
Hier ist ein Artikel, den ich zu den HTML 5-Funktionen gefunden habe, und eine Problemumgehung für den Internet Explorer, bei der ein ActiveX-Steuerelement verwendet wird. http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html
quelle
Also begann ich mit den verschiedenen Dingen zu experimentieren, die die FileReader-API zu bieten hatte, und konnte ein IMG-Tag mit einer DATA-URL erstellen.
Nachteil: Es funktioniert nicht auf Mobiltelefonen, aber es funktioniert gut auf Google Chrome.
(siehe dies auf einer jsfiddle unter http://jsfiddle.net/eD2Ez/530/ )
(siehe die ursprüngliche jsfiddle, die ich unter http://jsfiddle.net/eD2Ez/ hinzugefügt habe )
quelle
Ein funktionierendes Beispiel für die Validierung von jQuery:
quelle