Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 裁剪图像后“无法打开文件”_Flutter_Dart - Fatal编程技术网

Flutter 裁剪图像后“无法打开文件”

Flutter 裁剪图像后“无法打开文件”,flutter,dart,Flutter,Dart,目标是: 1允许用户选择图片[我使用图像选择器] 2用户将图像裁剪为1:1的纵横比[我使用图像裁剪] 3将图像上载到Python后端 问题是: 剪切图像后,尝试读取图像以发布图像时返回: 未处理的异常:FileSystemException:无法打开文件,路径='/data/user/0/com.example.AppName/cache/image\u crop\u 26d4daef-e297-456c-9c6d-85D2E4C0D06620423543401355956.jpg'操作系统错误

目标是:

1允许用户选择图片[我使用图像选择器]

2用户将图像裁剪为1:1的纵横比[我使用图像裁剪]

3将图像上载到Python后端

问题是:

剪切图像后,尝试读取图像以发布图像时返回:

未处理的异常:FileSystemException:无法打开文件,路径='/data/user/0/com.example.AppName/cache/image\u crop\u 26d4daef-e297-456c-9c6d-85D2E4C0D06620423543401355956.jpg'操作系统错误:没有此类文件或目录,错误号=2

奇怪的是,考虑到imageFile是File变量,我可以使用'FileImage\u imageFile'在flatter中显示图像

只是我不能使用_imageFile.length,甚至不能使用base64编码_imageFile.readAsBytesSync

关于发生了什么以及如何修复它有什么想法吗?

path\u提供程序插件支持访问两个文件系统位置:

临时目录, 文件目录

-临时目录是缓存,其内容可随时被系统擦除。因此,在这里存储数据对我们以后获取数据是不利的

-documents目录是我们现在要选择的目录,这是应用程序存储只有它才能访问的文件的目录

您使用的是临时目录/data/user/0/com.example.AppName/cache/image_crop_26d4daef-e297-456c-9c6d-85d2e4c0d0620423543401355956.jpg

若文件未被擦除,则可以使用以下代码段读取文件内容:

final directory = await getTemporaryDirectory();
// For your reference print the AppDoc directory 
final path = directory.path;
final file = File('$path/data.txt');
String contents = await file.readAsString();
return contents;