如何在ngrx存储中保存文件?

问题描述

自上周以来,我已将我的应用程序迁移到了ngrx。现在,我面临一个问题:我的应用在整个应用运行期间都需要访问File对象。由于ngrx仅存储JSON对象,因此不能存储File对象和其他类型的类。

使用ngrx处理文件对象的最佳方法是什么?我是否必须将它们转换为JSON对象并将其保存到商店中,还是必须将它们保存在商店之外?还是还有其他方法?

上下文:该应用程序执行音频处理并利用其他文本文件。

为了进一步处理,我需要文件的内容,名称和大小。我曾考虑过制作一个JSON对象,但这可能效率不高(因为ngrx会创建其状态的副本):

{
  name: string;
  size: number;
  buffer: ArrayBuffer;
}

解决方法

保存文件,异步调用,localStorage / sessionStorage等均视为副作用。

查看Ngrx Effect文档。

您应将文件或其他复杂对象转换为JSON并存储在商店中。

,

ngrx可以像其他任何服务一样存储File对象。因为浏览器的redux插件无法正确输出File对象,所以我认为ngrx不支持File对象。如果我将当前状态输出到控制台,则文件列表应该是可用的。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...