Flutter无法从iOS上的路径加载File()

时间:2019-11-14 11:19:54

标签: ios flutter dart

嘿,我正在使用flutter_sound包进行录音。

但是当我从记录器文件路径中创建File()对象时,尝试调用length()或readBytes()函数时,在iOS上没有出现预期的错误。

在Android上一切正常,因此我尝试比较了两个平台上的制作文件,它们有些不同

ANDROID文件路径= / storage / emulated / 0 /...

iOS文件路径= file:/// Users / kleinpetr / Library / Developer / ...

我认为问题出在不同的路径上。

iOS上的错误看起来像这样

Cannot retrieve length of file, path =
'file:///Users/kleinpetr/Library/Developer/CoreSimulator/Devices/62B6742D-0FA4-4B92-B138
0D9E717DB91B/data/Containers/Data/Application/8587EB31-CF5D-4045-950B
6C011AE3EA96/Library/Caches/voice-message.m4a' (OS Error: No such file or directory, errno = 2)

1 个答案:

答案 0 :(得分:0)

因此,使用File.fromUri(Uri.parse(fullPath))为您工作。您提供给File类的实际上不是路径,而是URI字符串(它的协议开头指定了file://)。您要做的就是解析URI并从中创建一个文件。