在 flutter 应用程序中找到资产文件的路径
Locate path of assets files in flutter app
我正在使用需要使用我存储在资产中的文件的包 (Starflut)。
我先把这个文件添加到pubspec.yaml:
assets:
- my_folder/my_file.py
然后我一直在尝试在 运行 应用程序中找到此文件,但它位于以下目录或其任何子文件夹的 none 中:
- /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]);
}
下面的代码returns路径如下:
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) 中使用它?
谢谢
由于您的资产与应用程序打包在一起,您必须将文件从 rootBundle 复制到临时目录或您想要的位置。您可以查看此 medium post,了解如何读取资产文件和写入应用程序路径。
希望对您有所帮助。
我正在使用需要使用我存储在资产中的文件的包 (Starflut)。
我先把这个文件添加到pubspec.yaml:
assets:
- my_folder/my_file.py
然后我一直在尝试在 运行 应用程序中找到此文件,但它位于以下目录或其任何子文件夹的 none 中:
- /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]);
}
下面的代码returns路径如下:
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) 中使用它?
谢谢
由于您的资产与应用程序打包在一起,您必须将文件从 rootBundle 复制到临时目录或您想要的位置。您可以查看此 medium post,了解如何读取资产文件和写入应用程序路径。
希望对您有所帮助。