繁体   English   中英

如何将输入类型文件数组保存在存储位置?

[英]How can I save the array of input type file in storage location?

嗨,我想保存输入类型文件的数组。

<input type="file" id="fuGerber" onchange="saveFiles(this.files)" multiple />

我已经尝试过了:

localStorage.setItem('files',JSON.stringify(files));

或这个:

 localStorage.setItem('files',JSON.stringify(files[0]));

但是JSON.stringify返回空的“ {}”,或者在第二种情况下返回“ {” 0“:{}}”有人知道什么要保存它而不在数组内部丢失任何内容。

这是我的数组所具有的:

这就是我的数组

也许您缺少使用文件读取器从文件输入中实际读取数据的信息,然后将其存储在数组中,然后再将其保存到localStorage

在这里查看此答案。

更新:

因此,在JSFiddle中复制问题后,我终于意识到您遇到的麻烦。 问题是FileList不是数组( 请参阅此处 ),它是自定义列表类型。 结果,JSON编码器不知道如何正确编码。

要从FileList中获取数据,您必须手动创建FileList中每个File的文件对象,将每个对象推到array \\,然后就可以进行字符串化并将其设置为localStorage。

完成上述操作后,我能够成功保存文件: localStorage中的文件数组视图

参见我的代码示例:

JSFiddle

干杯! 我希望这有帮助 :)

如果您尝试保存数组,请执行以下操作:

保存:

 localStorage.setItem('files', JSON.stringify(files));

要从localStorage恢复:

value  = localStorage.getItem('files');
result = JSON.parse(value);


更新:

对于文件,请检查此链接。 如何将映像保存到localStorage并将其显示在下一页上?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM