首页 > 解决方案 > Flutter 将图像转换为二进制数据

问题描述

如何将图像文件转换为二进制数据?我正在使用一个名为 image_picker 的库来从画廊或相机中挑选图像。我想将我选择的图像转换为二进制数据。

File image = await ImagePicker.pickImage(source: ImageSource.gallery)
(image as Image).toByteData // the method toByteData here is not pop up.

标签: flutter

解决方案


toByteData()方法允许将其image转换为字节数组。我们需要在 format 参数中传递格式,该参数指定返回字节的格式。它将返回以二进制数据或错误完成的未来。

final pngByteData = await image.toByteData(format: ImageByteFormat.png);

ImageByteFormatenum 包含以下常量。

  • PNG
  • 原始Rgba
  • 原始未修改
  • 价值观

有关更多信息ImageByteFormat,请查看此文档

更新:如果你想转换image file成字节。然后使用readAsByte()方法。

var bytes = await ImagePicker.pickImage(source: ImageSource.gallery).readAsBytes();

要将图像转换为文件,请查看此答案


推荐阅读