我正在开发一个flutter项目,在其中我必须对应用程序正在运行的设备拍照,减小其尺寸,然后将其移至base64以便将其存储在数据库中。
直到现在,我已经能够为iOS和Android设备开发此功能,其中我使用image_picker插件拍摄设备的图像,并使用flutter_native_image插件减小图像的尺寸通过本地手段。
图像捕获:
var image = await ImagePicker().getImage(source: ImageSource.gallery);
if (image != null) {
_base64Image = await ImageReducer().getBase64Image(File(image.path));
setState(() {
_image = File(image.path);
});
}
图像缩小并过渡到base64:
Future getBase64Image(Io.File image) async {
Io.File imageResized = await FlutterNativeImage.compressImage(image.path,
quality: 100, targetWidth: 120, targetHeight: 120);
List<int> imageBytes = imageResized.readAsBytesSync();
return base64Encode(imageBytes);
}
对于网络,我尝试使用image_picker_web插件,但是无法重现相同的过程。有人可以帮我吗?
谢谢。