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

时间:2018-04-06 23:58:32

标签: 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)它只给我/。如果我尝试列出该目录的内容,它会告诉我:“目录列表失败,路径='/'(操作系统错误:权限被拒绝,错误= 13)”。所以我实际上并不知道当前目录的位置。

1 个答案:

答案 0 :(得分:2)

您可以直接访问文件系统,但由于Android和iOS的差异,您可能最终会使用path provider插件。另外,请看this flutter cookbook

但是,如果你要做的就是从你的构建中访问一个文件,你需要在pubspec中将它定义为一个资产,然后使用Flutter的AssetBundle(或Image.asset)而不是直接访问它。使用File或Image.file。请参阅flutter documentation on assets.