dart - 如何在 Flutter 应用程序中从磁盘打开文件?

标签 dart flutter

在 Flutter 应用程序中,我有一个位于 FlutterTest\sandbox\lib\my_widget\my_widget.dart 的 dart 文件。

我有一张图片位于 FlutterTest\sandbox\lib\my_widget\imgs\myImage.png

my_widget.dart 我怎样才能将文件指向这张图片,类似于 new File("???\my_widget\myImage.png")?

澄清一下,在 Java 中我可以做类似 MyClass.class.getResource("myImage.png").toString() 的事情。

顺便说一下,如果我 print(Directory.current.path) 它只给我 /。如果我尝试列出该目录的内容,它会告诉我:“目录列表失败,路径 = '/'(操作系统错误:权限被拒绝,errno = 13)”。所以我实际上不知道当前目录在哪里。

最佳答案

您可以直接访问文件系统,但由于 Android 和 iOS 的差异,您最终可能会使用 path provider插入。另请参阅 this flutter cookbook正如他们所说。

但是,如果您要做的只是从您的构建中访问一个文件,您将需要在您的 pubspec 中将其定义为 Assets ,然后使用 Flutter 的 AssetBundle(或 Image.asset)而不是直接访问它使用 File 或 Image.file。查看flutter documentation on assets.

关于dart - 如何在 Flutter 应用程序中从磁盘打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49702454/

相关文章:

flutter - 如何在Flutter中添加垂直分隔线?

flutter - 空检查不会在Dart中引起类型提升

android - 更新列表中的对象

android - 'NoSuchMethodError:当我尝试执行SQFLITE类时,对空调用了 'insert'方法,为什么会这样呢?

flutter - 插件/API可以使Flutter制作语​​音更改应用程序?

flutter - 在Flutter中创建进度条指示器形状

flutter - 如何制作一堆可检测手势的自定义绘制形状

flutter - 如何在 IntelliJ Idea 中嵌套自动生成的 Dart 文件?

angular - 如何在 Angular dart 中的同级组件之间共享数据

android - geolocator 6.0.0+1 distanceBetween() 无法正常工作