如何添加可通过路径而不是通过rootbundle访问的资源文件(Flutter)

问题描述 投票:0回答:1

我希望能够拥有一个文件

assets/someFile.txt
并将其添加到应用程序中,以使该文件已经位于文件系统上可供访问。我不希望它位于 Flutter 的 rootbundle(又名资产存档)中。

// This is what I want to be able to do.
String filePath = '${await getApplicationDocumentsDirectory()}/someFile.txt';  
File myFile = File(filePath);

// Not this
// Read the file from the rootbundle
String data = await rootBundle.loadString('assets/someFile.txt');
// create a file on the filesystem and write the data to it.

我想要这个的原因是因为我正在使用一个库(Objectbox),它需要一个包含我的数据的文件。准备好一个可以立即使用的文件比必须先从 assetbundle 中读取一个文件、创建一个文件然后将数据写入其中要好。

有没有办法向 Flutter 指定某个资源应该作为文件放入应用程序中,而不是包含在 rootbundle 中?

flutter dart mobile build flutter-dependencies
1个回答
0
投票

结论 Flutter 不直接支持将资源放置在 rootBundle 之外的文件系统上。

如果您的资源文件太大,从文件服务器下载它们是一个实用的解决方案。这种方法减少了应用程序包的大小并允许动态更新。

© www.soinside.com 2019 - 2024. All rights reserved.