diff --git a/api/src/services/files.ts b/api/src/services/files.ts index 47d546a0ec..4fdc394681 100644 --- a/api/src/services/files.ts +++ b/api/src/services/files.ts @@ -161,17 +161,22 @@ export class FilesService extends ItemsService { xmp?: Record; } = {}; if (sharpMetadata.exif) { - const { image, thumbnail, interoperability, ...rest } = exif(sharpMetadata.exif); - if (image) { - fullMetadata.ifd0 = image; + try { + const { image, thumbnail, interoperability, ...rest } = exif(sharpMetadata.exif); + if (image) { + fullMetadata.ifd0 = image; + } + if (thumbnail) { + fullMetadata.ifd1 = thumbnail; + } + if (interoperability) { + fullMetadata.interop = interoperability; + } + Object.assign(fullMetadata, rest); + } catch (err) { + logger.warn(`Couldn't extract EXIF metadata from file`); + logger.warn(err); } - if (thumbnail) { - fullMetadata.ifd1 = thumbnail; - } - if (interoperability) { - fullMetadata.interop = interoperability; - } - Object.assign(fullMetadata, rest); } if (sharpMetadata.icc) { fullMetadata.icc = parseIcc(sharpMetadata.icc);