compressFile method

Future<File?> compressFile({
  1. required File? file,
})

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;
}