40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
import EXIF from 'exif-js';
|
|
import exifr from 'exifr';
|
|
import fs from 'fs';
|
|
|
|
async function test() {
|
|
const files = [
|
|
'./node_modules/exif-js/example/dsc_09827.jpg',
|
|
'./node_modules/exif-js/example/DSCN0614_small.jpg',
|
|
'./node_modules/exif-js/example/Bloated-Hero.jpg',
|
|
'./node_modules/exif-js/example/Bush-dog.jpg'
|
|
];
|
|
|
|
for (const f of files) {
|
|
console.log(`--- Testing file: ${f} ---`);
|
|
try {
|
|
const gpsExifr = await exifr.gps(f);
|
|
console.log(' exifr.gps:', gpsExifr);
|
|
} catch (e) {
|
|
console.log(' exifr error:', e.message);
|
|
}
|
|
|
|
try {
|
|
const data = fs.readFileSync(f);
|
|
const arrayBuffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
const parsed = await exifr.parse(arrayBuffer);
|
|
console.log(' exifr.parse output:', parsed ? {
|
|
latitude: parsed.latitude,
|
|
longitude: parsed.longitude,
|
|
DateTimeOriginal: parsed.DateTimeOriginal,
|
|
CreateDate: parsed.CreateDate,
|
|
ModifyDate: parsed.ModifyDate
|
|
} : 'null');
|
|
} catch (e) {
|
|
console.log(' exifr.parse error:', e.message);
|
|
}
|
|
}
|
|
}
|
|
|
|
test();
|