微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以在Flutter中进行配置以存储BigData某些GB文件

如何解决可以在Flutter中进行配置以存储BigData某些GB文件

我在想,如果我存储视频或电影,然后打开该框,该视频将存储在我的RAM中,或者只是从ROM加载。我有些困惑:有人可以向我解释吗?

解决方法

将视频/媒体文件复制/保存到本地文件存储中,并将文件路径保存在Hive Box中。

每当需要从hive获取路径,然后使用该路径从本地存储获取文件。

,

我认为您误解了数据库的概念。

  • 任何数据库解决方案都只能存储纯信息性的有组织的数据。不要存储大文件,例如媒体,文档或图像。

  • 相反,不需要组织存储,所有文件都可以存在于一个文件夹中。

因此,您使用的任何数据库解决方案都始终存储数据类型。 在这种情况下,您可以拥有一个数据模型,这对于使用数据库也是必不可少的。

@HiveType(typeId: 0)
class Movie extends HiveObject {

  @HiveField(0)
  String name;

  @HiveField(1)
  int path;
}

由于Hive支持Dart对象,因此无需转换为Json或任何类似的字符串即可获取数据。

因此,当您从Storag提取文件时,可以使用path_provider或从文件本身获取路径,然后创建对象

File file = await // get the movie file using any means

final path = file.path

var box = await Hive.openBox('Movies');

var m = Movie()
  ..name = 'Batman Begins'
  ..path = path ;
box.add(m);

m.save();

希望这可以消除您的疑问。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。