flutter - 我需要将图片保存在特定位置颤动
问题描述
我需要将图片保存在特定位置而不是临时位置。
void _takePicture(BuildContext context) async {
try {
await _initializeCameraControllerFuture;
final path =
join((await getTemporaryDirectory()).path, '${DateTime.now()}.png');
await _cameraController.takePicture(path);
Navigator.pop(context,path);
} catch (e) {
print(e);
}
}
解决方案
您需要将图像保存到外部存储目录中,以便在图库中显示图像。不是获取临时目录,而是获取外部存储目录。
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;
或者检查这个。
推荐阅读
- reactjs - 如何从回调中设置状态?
- sql - vertica中的“在连接中检测到重复的合并键”
- sql-server - Azure DB 中的按日期分组查询
- javascript - 单击反应中的菜单项后如何关闭我的菜单?
- conv-neural-network - 使用卷积神经网络进行语义图像分割
- javascript - javascript使用col和row获取表格上的输入复选框
- python - Python,我尝试生成名称和高度,但它生成相同的名称并更改值,而不是生成新名称
- math - 无法在我的太阳系模型上获得正确的轨道
- regex - 提取第 n 个模式 1 和第 m 个模式 2 之间的字符串 - sed/awk
- php - 在循环中根据数组索引推送数组值