嗨,请原谅我的英语,也是 flutter iOS 的新手,我在 iOS 上有一个关于 flutter 的应用程序,用户可以从他们的相机和图库中拍摄照片和视频,我正在使用 image_picker 包,这没有问题,然后我将其保存在在其应用程序文档目录中我尝试遵循this https://flutter.dev/docs/cookbook/persistence/reading-writing-files guide
我获取应用程序目录的代码是这样的
Directory _appDocDir;
_appDocDir = await getApplicationDocumentsDirectory();
final Directory _appMediaDir = Directory('${_appDocDir.path}/Pictures/');
return _appMediaDir;
添加“图片”目录,这将给出路径
/Users/macman/Library/Developer/CoreSimulator/Devices/96060868-7E5C-4E15-9900-4D1D4B0B5ACE/data/Containers/Data/Application/BE7728A6-FF15-498E-91A0-A96A3DDE5B31/Documents/Pictures/D_IMG_0002.JPG
从 iOS 模拟器中,我将其保存并放入数据库中,在重新编译应用程序或进行构建更新后,不再找到预览图像/视频路径。我尝试在此构建上保存另一个图像并给出此路径
/Users/macman/Library/Developer/CoreSimulator/Devices/96060868-7E5C-4E15-9900-4D1D4B0B5ACE/data/Containers/Data/Application/9D634D91-07B8-43BE-8646-2A55833322DF/Documents/Pictures/D_IMG_0005.JPG
我注意到之前的路径这部分“/BE7728A6-FF15-498E-91A0-A96A3DDE5B31/”每次我重新编译应用程序或从iOS设备进行更新时都会更改,但找不到图像。对于能够保存图像的用户来说,最常用的做法是什么?我做错了吗?
更新:我尝试更改我的逻辑,将保存的路径更改为仅基本名称(D_IMAGE_0005.JPG),然后在预览图像时将调用当前应用程序文档目录,但这也不起作用。
谢谢
您好,不要保存记录中 getApplicationDocumentsDirectory() 给出的整个路径,而是仅保存基本名称,每次预览/加载图像时都会调用
getApplicationDocumentsDirectory() + 'Pictures/<basename>',
每次应用程序在 iOS 上更新或重新编译时,appid 都会发生变化,这就是您的路径无法在重新编译时加载的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)