Die Verwendung der EXIF-Bibliothek zum Extrahieren von Metadaten aus JPG-Mediendateien führt zu einem Fehler, der von TrJavaScript

Javascript-Forum
Anonymous
 Die Verwendung der EXIF-Bibliothek zum Extrahieren von Metadaten aus JPG-Mediendateien führt zu einem Fehler, der von Tr

Post by Anonymous »

Ich schreibe ein kleines JavaScript-Programm, das den Inhalt eines Ordners durchsucht, in dem Hunderte oder Tausende von Bilddateien gespeichert sind, einige Datenelemente aus jeder Bilddatei extrahiert (wie Zeitstempel + GPS-Koordinaten) und eine Textdatei mit einem JSON-Array der Form schreibt:

Code: Select all

[{"File":"20250912_131538.jpg","Timestamp":"2025-09-12T13:15:22","GPS_Latitude":23.4544454,"GPS_Longitude":78.345428354},
{"File":"20250912_131538.jpg","Timestamp":"2025-09-12T13:15:22","GPS_Latitude":23.4544411,"GPS_Longitude":78.345428301},
...
]
Alles funktioniert einwandfrei (das heißt, Dutzende Dateien werden ordnungsgemäß verarbeitet), bis ein Fehler in der EXIF-Funktionalität dazu führt, dass der Prozess angehalten wird.
Ich habe versucht, den EXIF-Aufruf in einen Try-Catch-Block zu platzieren, aber das Programm hält immer noch an.
Da einer der möglichen Gründe ein asynchroner Aufruf ist, habe ich die Ausdrucke als hinzugefügt folgt:

Code: Select all

try {
console.log("----- Before invoking EXIF...")

l_EXIF_Returned_Value = EXIF.getData(l_Thumb, function() {

console.log("----- After invoking EXIF...")

[rest of the code...]
Innerhalb der Konsole:

Code: Select all

----- Before invoking EXIF...
exif.js:742  Uncaught RangeError: Offset is outside the bounds of the DataView
...
Der Aufruf ist also synchron und dennoch scheint es, dass die Ausnahme nicht von der Try-Catch-Struktur abgefangen wird.
Ist jemals jemand auf ein solches Verhalten gestoßen (

Code: Select all

try-catch
funktioniert nicht?
Jeder Vorschlag wird sehr geschätzt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post