HTML/Javascript-Zugriff auf EXIF-Daten vor dem Datei-Upload

Lesezeit: 2 Minuten

HTMLJavascript Zugriff auf EXIF Daten vor dem Datei Upload
Alex

Ich versuche zu extrahieren EXIF Daten aus einem Bild (jpeg), das in den Browser gezogen oder über ein HTML-Datei-Eingabeelement ausgewählt wurde.

Ich habe es geschafft, das Bild im Browser mit in der Vorschau anzuzeigen FileReader and FileReader.readAsDataURL
wie beschrieben Hier.

und ich fand a EXIF-Bibliothek die es ermöglicht, die EXIF-Daten eines Bildes über Javascript zu extrahieren. Aber bei mir funktioniert es nur, wenn ich es mit normalem nutze img Tags, die ihren Inhalt über eine URL laden.

Ich habe diese Frage auch auf StackOverflow gefunden, wo die akzeptierte Antwort besagt, dass dies einfach nicht möglich ist.

Aber ich bin mir ziemlich sicher, dass es realisierbar ist, denn 500px.com extrahiert die EXIF-Daten unmittelbar nach dem Hinzufügen einer Datei zum Hochladen und bevor der Upload abgeschlossen ist.

Einige Ideen, wie es möglich sein sollte, die EXIF-Daten aus dem base64-codierten Bild zu extrahieren, das ich vom FileReader bekomme?

HTMLJavascript Zugriff auf EXIF Daten vor dem Datei Upload
Alex

Endlich habe ich eine clientseitige Lösung für das Problem gefunden:

  1. Lesen Sie die Datei mit dem FileReader und die Methode .readAsBinaryString
  2. Wickeln Sie dann diese Binärzeichenfolge in ein BinaryFile-Objekt ein, das bereits in der Datei enthalten ist EXIF-Bibliothek
  3. Endlich anrufen EXIF.readFromBinaryFile(binaryFileObject);

und fertig 🙂

  • Der Versuch, binaryajax.js in mein Projekt aufzunehmen, führt zu einem Fehler, der den Zugriff verweigert hat, daher ist dies keine Lösung für mich.

    – Obi Wan

    21. Okt ’13 um 15:13

  • Der Link zu nihilogic.dk ist tot.

    – Evan Scholle

    3. März ’15 um 5:03

  • Links zum BinaryFile-Objekt und zur EXIF-Bibliothek sind ebenfalls tot.

    – MDeuerlein

    29. Mai ’16 um 18:04

  • Wenn Sie exif-js verwenden möchten, lesen Sie meine Antwort hier: stackoverflow.com/questions/18981555/… – es macht den Trick ziemlich einfach.

    – Thomas Praxl

    17. Okt ’16 um 0:26

1641936592 370 HTMLJavascript Zugriff auf EXIF Daten vor dem Datei Upload
Nasser Al-Wohaibi

jQuery-DateiExif Javascript-Bibliothek liest Bild-Exif-Daten vor dem Hochladen.
GitHub-Link, Beispiel jsfiddle aus der Bibliothek.

var someCallback = function(exifObject) {

    $('#cameraModel').val(exifObject.Model);
    $('#lat').val(exifObject.GPSLatitude);
    $('#lng').val(exifObject.GPSLongitude);
    // Uncomment the line below to examine the
    // EXIF object in console to read other values
    //console.log(exifObject);

  }

      try {
        $('#file').change(function() {
            $(this).fileExif(someCallback);
        });
      }
      catch (e) {
        alert(e);
      }

  • Ich erhalte Zugriff verweigert in jquery, indem ich einfach versuche, die Bibliothek in mein Projekt aufzunehmen.

    – Obi Wan

    21. Okt ’13 um 15:31

Schauen Sie sich den Code des an FxIF Firefox-Erweiterung. Es liest Exif-Daten nur mit JavaScript. Um den Dateiinhalt zu lesen, können Sie die FileReader-API moderner Browser.

  • Ich möchte wirklich Browsererweiterungen vermeiden. Wie ich bereits erwähnt habe, verwende ich bereits FileReady, aber ich weiß nicht, wie ich die EXIF-Daten aus den Daten extrahiere, die ich von FileReader bekomme

    – Alex

    26. Apr. ’12 um 22:04

.

390190cookie-checkHTML/Javascript-Zugriff auf EXIF-Daten vor dem Datei-Upload

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy