Flutter 将图像转换为二进制数据

Chh*_*rum 5 flutter

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

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

Vin*_*ino 9

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

final pngByteData = await image.toByteData(format: ImageByteFormat.png);
Run Code Online (Sandbox Code Playgroud)

ImageByteFormatenum 包含以下常量。

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

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

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

var bytes = await ImagePicker.pickImage(source: ImageSource.gallery).readAsBytes();
Run Code Online (Sandbox Code Playgroud)

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

  • 您的图像是图像类型还是文件类型?如果是文件类型,则使用 readAsBytes 方法;如果是图像类型,则使用 toByteData 方法。请检查我更新的答案。 (2认同)