我在getApplicationDocumentsDirectory()函数上的路径有问题

问题描述 投票:0回答:1

我在路径提供程序上收到一条错误消息,内容为错误:未为类“未来”定义吸气剂“路径”。

我正在尝试根据https://pub.dev/packages/pdf#-example-tab-和此示例https://github.com/javico2609/flutter-challenges/blob/master/lib/pages/code_examples/pdf_and_csv/pdf.dart生成PDF文件

但是当我继续时,我得到的错误是未在Future上定义路径。但是,正如我在网上看到的那样,我做对了。这是代码:

final String dir = (getApplicationDocumentsDirectory()).path;
final String path = '$dir/receta.pdf';
final File file = File(path);
file.writeAsBytesSync(newpdf.save());

正如我所说。我无法运行该应用程序,因为收到消息错误:未为类“未来”定义吸气剂“路径”。

也尝试写

final Future<Directory> directory = getApplicationDocumentsDirectory();
final String dir = directory.path;
final String path = '$dir/receta.pdf';
final File file = File(path);
file.writeAsBytesSync(newpdf.save()); 

但是它不起作用,变量dir上的路径显示错误

flutter path getter
1个回答
1
投票

final Future<Directory> directory = getApplicationDocumentsDirectory();中,getApplicationDocumentsDirectory()是任何异步函数,这意味着它将异步返回目录,因此,当您尝试读取directory.path;时,directory尚未初始化,其为空。

而不是返回将来的目录,直到初始化为止,

final Directory directory = await getApplicationDocumentsDirectory();
© www.soinside.com 2019 - 2024. All rights reserved.