From 67c392bf621d62771f99d9fd633936876abe10ca Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Thu, 6 Jun 2024 22:50:32 -0500 Subject: [PATCH] Move piexif import to server file for code splitting --- src/utility/exif-server.ts | 19 +++++++++++++++++++ src/utility/exif.ts | 19 ------------------- 2 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 src/utility/exif-server.ts diff --git a/src/utility/exif-server.ts b/src/utility/exif-server.ts new file mode 100644 index 00000000..668919b5 --- /dev/null +++ b/src/utility/exif-server.ts @@ -0,0 +1,19 @@ +import * as PiExif from 'piexifjs'; + +export const removeGpsFromFile = async ( + fileBytes: ArrayBuffer +): Promise => { + const base64 = Buffer.from(fileBytes).toString('base64'); + const base64Url = `data:image/jpeg;base64,${base64}`; + + const exifObject = PiExif.load(base64Url) as Record; + delete exifObject.GPS; + const exifDataWithoutGps = PiExif.dump(exifObject); + + const data = PiExif.insert( + exifDataWithoutGps, + base64Url, + ); + + return fetch(data, { cache: 'no-store' }).then(res => res.blob()); +}; diff --git a/src/utility/exif.ts b/src/utility/exif.ts index 0730ddc5..8760cfe5 100644 --- a/src/utility/exif.ts +++ b/src/utility/exif.ts @@ -1,6 +1,5 @@ import { OrientationTypes, type ExifData } from 'ts-exif-parser'; import { formatNumberToFraction, roundToString } from './number'; -import * as PiExif from 'piexifjs'; const OFFSET_REGEX = /[+-]\d\d:\d\d/; @@ -57,21 +56,3 @@ export const formatExposureCompensation = (exposureCompensation?: number) => { return undefined; } }; - -export const removeGpsFromFile = async ( - fileBytes: ArrayBuffer -): Promise => { - const base64 = Buffer.from(fileBytes).toString('base64'); - const base64Url = `data:image/jpeg;base64,${base64}`; - - const exifObject = PiExif.load(base64Url) as Record; - delete exifObject.GPS; - const exifDataWithoutGps = PiExif.dump(exifObject); - - const data = PiExif.insert( - exifDataWithoutGps, - base64Url, - ); - - return fetch(data, { cache: 'no-store' }).then(res => res.blob()); -};