compressFile method
Compresses a file either by reducing image quality or resizing it for image, or by compressing a video.
Returns a compressed file if successful, otherwise returns null.
file
is the file to compress.
Example usage:
File? compressedFile = await RhUtils.instance.compressFile(
file: originalFile, // an image or video
);
Implementation
Future<File?> compressFile({required File? file}) async {
final mimeType = lookupMimeType(file!.path);
if (mimeType!.startsWith('image/')) {
return await RhUtils.instance.compressImage(image: file);
} else if (mimeType.startsWith('video/')) {
return await RhUtils.instance.compressVideo(video: file);
}
return null;
}