【发布时间】:2020-12-08 09:58:47
【问题描述】:
当用户拍摄照片或视频时,我将此文件保存到应用程序文件夹 当我尝试使用 xcode 访问保存的文件夹时,我可以毫无问题地看到图像或视频。
拍摄并保存这张照片后,应用程序可以访问图像或视频,我可以在我的应用程序中显示它
但是过了一会儿或当我关闭并重新打开手机时,此文件无法访问 但如果我想显示在使用 xcode 打开的应用程序文件夹中,我可以显示文件
这是我的保存图片代码
Future<void> saveFile(BuildContext context, int fileType,
{Function(String path) onComplete}) async {
File file = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => fileType == 0 ? Camera() : Video()));
if (file != null) {
var savedFile = await getNewFile(file, fileType);
if (fileType == 0) {
GallerySaver.saveImage(savedFile.path).then((result) async {
if (result)
onComplete(savedFile.path);
else
onComplete("");
});
} else {
GallerySaver.saveVideo(savedFile.path).then((result) async {
if (result)
onComplete(savedFile.path);
else
onComplete("");
});
}
} else {
onComplete("");
} }
Future<File> getNewFile(File file, int fileType) async {
final Directory path = await getApplicationDocumentsDirectory();
var fileName = UniqueKey()
.toString()
.replaceAll("[", "")
.replaceAll("]", "")
.replaceAll("#", "") +
(fileType == 0 ? ".png" : ".mp4");
return await file.copy('${path.path}/$fileName');
}
您遇到错误 B4A3B.MP4 未找到,但它已经在路径中
您可以看到的图像右下角
开始加载没有问题,但过了一段时间它没有显示在我的应用程序中
【问题讨论】:
-
是否在 pubspec.yaml 中添加了文件?
-
不,这不是资产文件,这是保存图像文件到手机应用程序文件夹
-
请从控制台发布整个错误,抛出异常
-
错误是:无法加载资产 ..../documents/b4a3b.mp3
-
一行不够,错误会包含堆栈,在加载文件时使用try catch块,同时记录错误和堆栈
标签: flutter dart flutter-layout flutter-dependencies flutter-web