merge new features
This commit is contained in:
@@ -55,12 +55,42 @@ class FileUtils {
|
||||
'bmp',
|
||||
'svg',
|
||||
'heic',
|
||||
'heif',
|
||||
'avif',
|
||||
'tif',
|
||||
'tiff',
|
||||
];
|
||||
return imageExtensions.contains(getFileExtension(fileName));
|
||||
}
|
||||
|
||||
static bool isFlutterRenderableImageFile(String fileName) {
|
||||
const renderableImageExtensions = [
|
||||
'jpg',
|
||||
'jpeg',
|
||||
'png',
|
||||
'gif',
|
||||
'webp',
|
||||
'bmp',
|
||||
];
|
||||
return renderableImageExtensions.contains(getFileExtension(fileName));
|
||||
}
|
||||
|
||||
static bool isVideoFile(String fileName) {
|
||||
const videoExtensions = ['mp4', 'webm', 'mkv', 'avi', 'mov', 'flv', 'wmv'];
|
||||
const videoExtensions = [
|
||||
'mp4',
|
||||
'webm',
|
||||
'mkv',
|
||||
'avi',
|
||||
'mov',
|
||||
'flv',
|
||||
'wmv',
|
||||
'm4v',
|
||||
'mpg',
|
||||
'mpeg',
|
||||
'3gp',
|
||||
'ts',
|
||||
'm2ts',
|
||||
];
|
||||
return videoExtensions.contains(getFileExtension(fileName));
|
||||
}
|
||||
|
||||
@@ -69,6 +99,17 @@ class FileUtils {
|
||||
return audioExtensions.contains(getFileExtension(fileName));
|
||||
}
|
||||
|
||||
static bool isPsdFile(String fileName) {
|
||||
const psdExtensions = ['psd', 'psb'];
|
||||
return psdExtensions.contains(getFileExtension(fileName));
|
||||
}
|
||||
|
||||
static bool isThumbnailableFile(String fileName) {
|
||||
final ext = getFileExtension(fileName);
|
||||
if (ext.isEmpty || ext == 'svg') return false;
|
||||
return isImageFile(fileName) || isVideoFile(fileName) || isPsdFile(fileName);
|
||||
}
|
||||
|
||||
static bool isPdfFile(String fileName) {
|
||||
return getFileExtension(fileName) == 'pdf';
|
||||
}
|
||||
@@ -155,13 +196,33 @@ class FileUtils {
|
||||
'gif': 'image/gif',
|
||||
'webp': 'image/webp',
|
||||
'svg': 'image/svg+xml',
|
||||
'bmp': 'image/bmp',
|
||||
'heic': 'image/heic',
|
||||
'heif': 'image/heif',
|
||||
'avif': 'image/avif',
|
||||
'tif': 'image/tiff',
|
||||
'tiff': 'image/tiff',
|
||||
'psd': 'image/vnd.adobe.photoshop',
|
||||
'psb': 'image/vnd.adobe.photoshop',
|
||||
'mp4': 'video/mp4',
|
||||
'webm': 'video/webm',
|
||||
'mkv': 'video/x-matroska',
|
||||
'avi': 'video/x-msvideo',
|
||||
'mov': 'video/quicktime',
|
||||
'flv': 'video/x-flv',
|
||||
'wmv': 'video/x-ms-wmv',
|
||||
'm4v': 'video/x-m4v',
|
||||
'mpg': 'video/mpeg',
|
||||
'mpeg': 'video/mpeg',
|
||||
'3gp': 'video/3gpp',
|
||||
'ts': 'video/mp2t',
|
||||
'm2ts': 'video/mp2t',
|
||||
'mp3': 'audio/mpeg',
|
||||
'wav': 'audio/wav',
|
||||
'ogg': 'audio/ogg',
|
||||
'flac': 'audio/flac',
|
||||
'aac': 'audio/aac',
|
||||
'm4a': 'audio/mp4',
|
||||
'pdf': 'application/pdf',
|
||||
'txt': 'text/plain',
|
||||
'json': 'application/json',
|
||||
|
||||
Reference in New Issue
Block a user