在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)”。所以我实际上并不知道当前目录的位置。
答案 0 :(得分:2)
您可以直接访问文件系统,但由于Android和iOS的差异,您可能最终会使用path provider插件。另外,请看this flutter cookbook。
但是,如果你要做的就是从你的构建中访问一个文件,你需要在pubspec中将它定义为一个资产,然后使用Flutter的AssetBundle(或Image.asset)而不是直接访问它。使用File或Image.file。请参阅flutter documentation on assets.