1
0
mirror of https://github.com/immich-app/immich.git synced 2025-06-24 04:46:50 +02:00

refactor(server): calculate asset type server side (#3200)

* refactor(server): calculate asset type server-side

* chore: open api

* chore: remove comments

* fix: linting

* update

* Revert "update"

This reverts commit dc58702923.

* fix: upload LivePhotos

* chore: remove unused request fields for upload

* remove unused method

* mobile-fix: livePhoto filename

* fix: revert check for livephotos filename and extension

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Jason Rasmussen
2023-07-11 23:56:30 -04:00
committed by GitHub
parent 93462aafbc
commit b71d7e33bb
24 changed files with 97 additions and 580 deletions

View File

@ -136,66 +136,6 @@ export function getAssetFilename(asset: AssetResponseDto): string {
return `${asset.originalFileName}.${fileExtension}`;
}
/**
* Returns the MIME type of the file and an empty string when not found.
*/
export function getFileMimeType(file: File): string {
const mimeTypes: Record<string, string> = {
'3fr': 'image/x-hasselblad-3fr',
'3gp': 'video/3gpp',
ari: 'image/x-arriflex-ari',
arw: 'image/x-sony-arw',
avi: 'video/avi',
avif: 'image/avif',
cap: 'image/x-phaseone-cap',
cin: 'image/x-phantom-cin',
cr2: 'image/x-canon-cr2',
cr3: 'image/x-canon-cr3',
crw: 'image/x-canon-crw',
dcr: 'image/x-kodak-dcr',
dng: 'image/x-adobe-dng',
erf: 'image/x-epson-erf',
fff: 'image/x-hasselblad-fff',
flv: 'video/x-flv',
gif: 'image/gif',
heic: 'image/heic',
heif: 'image/heif',
iiq: 'image/x-phaseone-iiq',
insp: 'image/jpeg',
insv: 'video/mp4',
jpeg: 'image/jpeg',
jpg: 'image/jpeg',
jxl: 'image/jxl',
k25: 'image/x-kodak-k25',
kdc: 'image/x-kodak-kdc',
m2ts: 'video/mp2t',
mkv: 'video/x-matroska',
mov: 'video/quicktime',
mp4: 'video/mp4',
mpg: 'video/mpeg',
mrw: 'image/x-minolta-mrw',
mts: 'video/mp2t',
nef: 'image/x-nikon-nef',
orf: 'image/x-olympus-orf',
ori: 'image/x-olympus-ori',
pef: 'image/x-pentax-pef',
png: 'image/png',
raf: 'image/x-fuji-raf',
raw: 'image/x-panasonic-raw',
rwl: 'image/x-leica-rwl',
sr2: 'image/x-sony-sr2',
srf: 'image/x-sony-srf',
srw: 'image/x-samsung-srw',
tiff: 'image/tiff',
webm: 'video/webm',
webp: 'image/webp',
wmv: 'video/x-ms-wmv',
x3f: 'image/x-sigma-x3f',
};
// Return the MIME type determined by the browser or the MIME type based on the file extension.
return file.type || (mimeTypes[getFilenameExtension(file.name)] ?? '');
}
function isRotated90CW(orientation: number) {
return orientation == 6 || orientation == 90;
}