2013-04-29 130 views
3

一直在尋找一個最新的答案,但我在我的繩索結束:目前有一種方法來持久存儲大量的二進制數據? (A Blob or or ArrayBuffer,> 100MB)HTML5 - 大Blob和持久本地存儲

事情似乎正在向IndexedDB發展,作爲通用解決方案,但目前並未持久化。唯一的其他合適的方法似乎是File System API,它在Chrome之外的支持不是很好。

有沒有合理的解決方法呢?

回答

2

IndexedDB可以存儲這些數據,這裏有一篇關於storing images and files的文章。您首先遇到的問題是storage limits

大多數桌面瀏覽器將最終允許儘可能多的存儲,但用戶將被提示允許它發生。

+0

感謝您的信息。我已經在我的多次搜索中運行過這篇文章=)但是,IndexedDB,AFAIK還沒有*還*提供持久存儲 - 保證存儲直到用戶手動清除它。我已經運行了一些Chrome測試,並且在關閉窗口後數據確實持續存在,但從我所看到的情況來看,它尚未正式「持久」。 – Dan 2013-04-30 16:20:45

+0

它是持久的,這就是它的重點,而你的域存在數據將被瀏覽器與它關聯。如果你去更改域名或用戶卸載那裏的瀏覽器(或通過不同的訪問),那麼你會遇到問題。 – 2013-04-30 22:57:24

+0

是的,你是對的!謝謝。不知道我以前沒有找到這個:https://developer.mozilla.org/en-US/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB – Dan 2013-04-30 23:17:46

1

正如Slace建議的那樣,IndexedDB將解決您的問題,但在Safari中尚不支持,但Chrome並不允許您在IndexedDB(尚)中存儲Blob。

LargeLocalStorage項目彌合了這些差距,併爲您提供IE,Chrome,Firefox,Safari和Opera中的大型持久存儲。

LargeLocalStorage還使用Chrome下的FilesystemAPI,它實際上記錄爲持久性的。 Chrome仍將文件IndexedDB視爲臨時存儲https://developers.google.com/chrome/whitepapers/storage#table