我正在制作一个flutter应用程序,将图像上传到Firebase存储。
为使图像不太大,我使用以下代码对其进行压缩
compressImage() async {
final tempDir = await getTemporaryDirectory();
final path = tempDir.path;
Im.Image imageFile = Im.decodeImage(file.readAsBytesSync());
final compressedImageFile = File('$path/img_$postID.jpg')
..writeAsBytesSync(Im.encodeJpg(imageFile, quality: 50));
setState(() {
file = compressedImageFile;
});
}
如果我使用Android设备上传照片,则有时为500kb,有时为200kb...。 但是,如果使用Apple ios模拟器库存的照片,其大小仍约为1 MB,是否可以选择获取更小的图像,例如最大500kb?
谢谢!
答案 0 :(得分:1)
将其与抖动图像包固定在一起。调整图像大小后,文件大小会变小。