Вам необходимо сохранить изображение во внешнем каталоге хранения для отображения изображения в галерее.Вместо того, чтобы получить временный каталог, получите внешний каталог хранения.
final directory = await getExternalStorageDirectory();
Вам необходимо предоставить разрешение на AndroidManifest.xml
файл вашей папки android/app/src/main
<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;