Om funksjonen
Formål
Leser metadata fra JPEG-filer direkte i nettleseren og returnerer tatt-dato og GPS-posisjon når de finnes. Funksjonen er domenenøytral og kjenner bare filformatet.
Egner seg for
- Når et opplastet JPEG-bilde skal foreslå dato eller sted uten å lese hele filen inn i minnet.
Egner seg ikke for
- Ikke for PNG, HEIC eller andre formater, og ikke for full dekoding av vilkårlige metadatafelt. Funksjonen leser bare starten av filen og returnerer kun
dateTakenoggps.
Signatur(er)
readExif(blob: Blob) => Promise<{dateTaken: Date|null, gps: {lat: number, lng: number}|null} | null>
| Parameter | Type | Beskrivelse |
|---|---|---|
blob | Blob | Bildefilen (JPEG) som EXIF-metadata skal leses fra. |
Returnerer: Et objekt med dateTaken og/eller gps når EXIF kan leses. Returnerer null hvis filen mangler, ikke er en JPEG, ikke inneholder noe EXIF-segment (APP1), eller ved lese-/parsefeil. Leser kun de første 128 KB av filen.
import {readExif} from "/designsystem/funksjoner/bilde/exif/exif.js";
const {dateTaken, gps} = await readExif(fil) ?? {};
if (dateTaken) input.value = dateTaken.toISOString().slice(0, 10);
Tilgjengelighet
Ikke relevant: ren logikk uten DOM eller UI.
Referanser
Se også:
../../geografi/avstand-km/index.html - GPS-koordinatene fra EXIF kan brukes direkte videre i avstandsberegninger.../../formattering/format-date/index.html - EXIF-datoen som leses ut blir ofte neste steg formatert for visning i UI-et.
Brukes av:
turer/js/features/receipts/receipts.js
Avhengigheter: Ingen