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

Ric*_*ria 2 getter path flutter

我通过路径提供程序收到一条错误消息,显示错误:未为类“未来”定义 getter 'path'。

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

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

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

就像我说的。我无法运行该应用程序,因为我收到消息错误:未为类“Future”定义 getter 'path'。

也试着写

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()); 
Run Code Online (Sandbox Code Playgroud)

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

Pra*_*ndo 6

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

而是返回一个未来的目录,等待它被初始化,

final Directory directory = await getApplicationDocumentsDirectory();
Run Code Online (Sandbox Code Playgroud)