Flutter:错误:MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getTemporaryDirectory
Posted
技术标签:
【中文标题】Flutter:错误:MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getTemporaryDirectory 的实现)【英文标题】:Flutter: Error: MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider) 【发布时间】:2021-04-23 18:03:42 【问题描述】:我正在使用Flutter-web
,我想导出一个 pdf。我正在使用pdf 包,我正在尝试从他们的文档中实现一个简单的示例。更具体地说,我有一个名为export_pdf.dart
的文件,其中的代码如下。
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart';
import 'package:universal_io/io.dart';
import 'package:path_provider/path_provider.dart';
exportPdf() async
final pdf = Document();
pdf.addPage(Page(
pageFormat: PdfPageFormat.a4,
build: (Context context)
return Center(
child: Text("Hello World"),
); // Center
)); // Page
final output = await getTemporaryDirectory();
final file = File("$output.path/example.pdf");
await file.writeAsBytes(await pdf.save());
当我通过单击按钮调用exportPdf()
函数时,出现以下错误。
未捕获(承诺)错误:MissingPluginException(无实现 在通道上找到方法 getTemporaryDirectory plugins.flutter.io/path_provider)
我一直在寻找这个问题很长时间,但没有解决这个问题。
即使 path_provider
包被导入,getTemporaryDirectory()
也不会被调用,就像它不存在一样。
我还需要提到我使用的是universal_io
,而不是dart:io
,因为我使用的是flutter_web
。
这个错误出现在我正在调用的每个函数中,并且存在于path_provider/path_provider.dart
文件中。我还在path_provider/path_provider.dart
中添加了一个简单的打印功能,但我收到一个错误,提示找不到该方法。
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:运行这些命令
flutter clean
flutter pub get
flutter run
确保在第一个命令之后,build
文件夹被删除。
【讨论】:
我跑了flutter clean
,构建文件夹确实被删除了,然后我跑了flutter pub get
,最后跑了flutter run
。但是仍然会弹出相同的错误。【参考方案2】:
发现目前这个包不支持网页保存文件,建议使用打印插件打印或分享文件。
【讨论】:
以上是关于Flutter:错误:MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getTemporaryDirectory 的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 构建 iOS 错误:在 iOS 设备中构建 Flutter 应用程序时遇到错误