簡體   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