在颤振应用程序中找到资产文件的路径

Posted

技术标签:

【中文标题】在颤振应用程序中找到资产文件的路径【英文标题】:Locate path of assets files in flutter app 【发布时间】:2020-08-24 14:08:14 【问题描述】:

我正在使用一个需要使用我存储在资产中的文件的包 (Starflut)。

我首先将此文件添加到 pubspec.yaml:

  assets:
    - my_folder/my_file.py

然后我在运行应用程序时一直试图找到这个文件,但它不在以下目录或其任何子文件夹中:

/data/user/0/com.example.my_app /data/data/com.example.my_app
import 'package:path_provider/path_provider.dart';
import 'dart:io';

...

var aux=Directory("/data/user/0/com.example.my_app");
//var aux=Directory("/data/data/com.example.my_app/files");
var files = aux.listSync(recursive:true).toList();
print(files[2]);
for(var i=0; i<files.length; i++)
  print(files[i]);

以下代码返回以下路径:

Directory tempDir = await getTemporaryDirectory(); // /data/user/0/com.example.my_app/cache
Directory appDocDir = await getApplicationDocumentsDirectory(); // /data/user/0/com.example.my_app/app_flutter

如何找到 assets/my_file.py 以便我可以从包 (starflut) 中使用它?

谢谢

【问题讨论】:

【参考方案1】:

由于您的资产包含应用程序,因此您必须将文件从 rootBundle 复制到临时目录或您想要的位置。您可以查看medium post,了解如何读取资产文件并写入应用路径。

希望这会有所帮助。

【讨论】:

以上是关于在颤振应用程序中找到资产文件的路径的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何找到资产文件夹的绝对路径?

我想将资产文件夹中的自定义页脚图像放置到我的应用程序屏幕底部的颤振应用程序中

从颤振资产加载 .pdf 文件/自定义文件

如何在 Flutter 包/插件开发中添加资产?

如何在 Flutter 中获取 Asset 对象的路径?

找不到“Frameworks/App.framework/flutter_assets”的资产路径