我有一个资产文件夹,其中有一个tab文件夹,然后有一个文件夹列表,每个文件夹包含一些文件
现在,我想读取tabs文件夹中所有文件夹的名称以及tabs文件夹的每个子文件夹中所有文件的名称,即分别名为sound 1,Sound 2和Sound 3的文件夹。 ...
简而言之,我想读取我的资产文件夹中所有文件和文件夹的名称。请任何人帮助。 谢谢,
答案 0 :(得分:5)
即使您仅在pubspec.yaml
中指定资产文件夹,Flutter编译器也会在AssetManifest.json
文件中列出这些文件夹中的所有文件。我们要做的就是读取此文件:
final manifestJson = await DefaultAssetBundle.of(context).loadString('AssetManifest.json');
final images = json.decode(manifestJson).keys.where((String key) => key.startsWith('assets/images'));
答案 1 :(得分:0)
在pubspec.yaml文件中:
在资产下添加具有完整路径的文件:
assets:
- assets/tabs/sound1/sample1.mp3
- assets/tabs/sound1/sample2.mp3
,依此类推,然后在您的项目中访问它们。
答案 2 :(得分:0)
最简单的方法是,打开pubspec.yaml,然后在资产行中,如下所示进行更改
assets:
- assets/*
这会将所有文件夹和文件添加到资产文件夹中。