commit
03595c6888
|
@ -31,19 +31,28 @@ export async function getExifData(
|
||||||
receivedFile: globalThis.File,
|
receivedFile: globalThis.File,
|
||||||
fileTypeInfo: FileTypeInfo
|
fileTypeInfo: FileTypeInfo
|
||||||
): Promise<ParsedEXIFData> {
|
): Promise<ParsedEXIFData> {
|
||||||
const exifData = await getRawExif(receivedFile, fileTypeInfo);
|
const nullExifData: ParsedEXIFData = {
|
||||||
if (!exifData) {
|
location: NULL_LOCATION,
|
||||||
return { location: NULL_LOCATION, creationTime: null };
|
creationTime: null,
|
||||||
}
|
|
||||||
const parsedEXIFData = {
|
|
||||||
location: getEXIFLocation(exifData),
|
|
||||||
creationTime: getUNIXTime(
|
|
||||||
exifData.DateTimeOriginal ??
|
|
||||||
exifData.CreateDate ??
|
|
||||||
exifData.ModifyDate
|
|
||||||
),
|
|
||||||
};
|
};
|
||||||
return parsedEXIFData;
|
try {
|
||||||
|
const exifData = await getRawExif(receivedFile, fileTypeInfo);
|
||||||
|
if (!exifData) {
|
||||||
|
return nullExifData;
|
||||||
|
}
|
||||||
|
const parsedEXIFData = {
|
||||||
|
location: getEXIFLocation(exifData),
|
||||||
|
creationTime: getUNIXTime(
|
||||||
|
exifData.DateTimeOriginal ??
|
||||||
|
exifData.CreateDate ??
|
||||||
|
exifData.ModifyDate
|
||||||
|
),
|
||||||
|
};
|
||||||
|
return parsedEXIFData;
|
||||||
|
} catch (e) {
|
||||||
|
logError(e, 'getExifData failed');
|
||||||
|
return nullExifData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getRawExif(
|
export async function getRawExif(
|
||||||
|
@ -63,14 +72,18 @@ export async function getRawExif(
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getUNIXTime(dateTime: Date) {
|
export function getUNIXTime(dateTime: Date) {
|
||||||
if (!dateTime) {
|
try {
|
||||||
return null;
|
if (!dateTime) {
|
||||||
}
|
return null;
|
||||||
const unixTime = dateTime.getTime() * 1000;
|
}
|
||||||
if (unixTime <= 0) {
|
const unixTime = dateTime.getTime() * 1000;
|
||||||
return null;
|
if (unixTime <= 0) {
|
||||||
} else {
|
return null;
|
||||||
return unixTime;
|
} else {
|
||||||
|
return unixTime;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
logError(e, 'getUNIXTime failed', { dateTime });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue