如何将图像小部件中的图像保存到Android设备?

时间:2019-09-17 11:12:17

标签: flutter

我有一个包含图像的图像小部件,我想将该图像保存到Android设备以供以后使用。

我发现了这个topic 但是我找不到将图像转换为文件的方法。

所以任何人都知道如何将Image转换为File或将图像从Image小部件直接保存到Flutter中的Android设备。

谢谢。

1 个答案:

答案 0 :(得分:3)

尝试image_picker_saver

您需要将图像保存到外部存储目录中,以便在图库中显示图像。无需获取临时目录,而是获取外部存储目录。

final directory = await getExternalStorageDirectory();

您需要在android / app / src / main文件夹的AndroidManifest.xml文件中提供权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然后,假设您要创建一个名为MyImages的文件夹并将新图像添加到该文件夹​​,

final myImagePath = '${directory.path}/MyImages' ;
final myImgDir = await new Directory(myImagePath).create();

然后将文件写入路径。

var kompresimg = new File("$myImagePath/image_$baru$rand.jpg")
  ..writeAsBytesSync(img.encodeJpg(gambarKecilx, quality: 95));

要获取文件数量,只需将文件获取到列表中并检查列表的长度

var listOfFiles = await myImgDir.list(recursive: true).toList();
var count = countList.length;