Browse Source

feat(server): support 3gpp format (#582)

* feat(server): support 3gpp format

* feat(web): add 3gp ext

* Support 3gp video format.

video/3gpp mimetype added to supported video format.

* feat(mobile): add tif ext

Co-authored-by: Alexandre Bouijoux <alexandre@bouijoux.fr>
Thanh Pham 2 years ago
parent
commit
a81ef7497c

+ 6 - 0
mobile/lib/utils/files_helper.dart

@@ -17,6 +17,9 @@ class FileHelper {
       case 'png':
         return {"type": "image", "subType": "png"};
 
+      case 'tif':
+        return {"type": "image", "subType": "tiff"};
+
       case 'mov':
         return {"type": "video", "subType": "quicktime"};
 
@@ -38,6 +41,9 @@ class FileHelper {
       case 'webp':
         return {"type": "image", "subType": "webp"};
 
+      case '3gp':
+        return {"type": "video", "subType": "3gpp"};
+
       default:
         return {"type": "unsupport", "subType": "unsupport"};
     }

+ 1 - 1
server/apps/immich/src/config/asset-upload.config.ts

@@ -9,7 +9,7 @@ import { randomUUID } from 'crypto';
 
 export const assetUploadOption: MulterOptions = {
   fileFilter: (req: Request, file: any, cb: any) => {
-    if (file.mimetype.match(/\/(jpg|jpeg|png|gif|mp4|x-msvideo|quicktime|heic|heif|dng|x-adobe-dng|webp|tiff)$/)) {
+    if (file.mimetype.match(/\/(jpg|jpeg|png|gif|mp4|x-msvideo|quicktime|heic|heif|dng|x-adobe-dng|webp|tiff|3gpp)$/)) {
       cb(null, true);
     } else {
       cb(new HttpException(`Unsupported file type ${extname(file.originalname)}`, HttpStatus.BAD_REQUEST), false);

+ 1 - 1
web/src/lib/utils/file-uploader.ts

@@ -31,7 +31,7 @@ export const openFileUploadDialog = (uploadType: UploadType) => {
 
 		fileSelector.type = 'file';
 		fileSelector.multiple = true;
-		fileSelector.accept = 'image/*,video/*,.heic,.heif,.dng';
+		fileSelector.accept = 'image/*,video/*,.heic,.heif,.dng,.3gp';
 
 		fileSelector.onchange = async (e: any) => {
 			const files = Array.from<File>(e.target.files);