compressImage static method
Implementation
static Future<String> compressImage(String image) async {
File imageFile = File(image);
int length = imageFile.lengthSync();
int max = 1024 * 1024 * 2;
if (length > max) {
Directory tempDir = await getTemporaryDirectory();
String targetPath =
'${tempDir.absolute.path}/Image_Temp_${DateTime.now().millisecondsSinceEpoch}.jpg';
File? result = await (FlutterImageCompress.compressAndGetFile(
image, targetPath,
quality: 100 - ((max / length) * 100).round()));
if ((result?.lengthSync() ?? 0) > max) {
return compressImage(result!.path);
}
return result?.path ?? '';
} else {
return image;
}
}