我有一个包含图像的图像小部件,我想将该图像保存到Android设备以供以后使用。
我发现了这个topic 但是我找不到将图像转换为文件的方法。
所以任何人都知道如何将Image转换为File或将图像从Image小部件直接保存到Flutter中的Android设备。
谢谢。
答案 0 :(得分:3)
或
您需要将图像保存到外部存储目录中,以便在图库中显示图像。无需获取临时目录,而是获取外部存储目录。
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;