嗨,我想保存输入类型文件的数组。
<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
。
查看此答案 here .
更新:
因此,在 JSFiddle 中复制问题后,我终于意识到您遇到了问题。问题是 FileList 不是数组( see here ),它是自定义列表类型。因此,JSON 编码器不知道如何正确编码。
要从 FileList 中获取数据,您必须手动创建 FileList 中每个文件的文件对象,将每个对象推送到数组\,然后您就可以字符串化并设置为 localStorage。
执行上述操作后,我能够成功保存文件: View of files array in localStorage
查看我的代码示例:
干杯!我希望这有帮助:)
关于javascript - 如何将输入类型文件的数组保存在存储位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42123969/