2010-08-20 139 views
12

我正在嘗試爲iPad創建一個簡單的網絡應用程序,這需要在沒有互聯網連接的地方使用。該應用程序是必不可少的一個簡單的「幻燈片」,但也包括一些視頻文件(通常大約100MB)。使用HTML5網絡數據庫存儲離線訪問文件

最初我打算使用HTML5的離線清單緩存同步資產到iPad的內存時,在路上,但不幸的是似乎有一個限制(至少在iOS 3.2中)緩存總共不超過5MB。

看看谷歌使用HTML5網絡數據庫的方式,我想知道如果另一種解決方案可能是將視頻/圖像資產吊裝到數據庫中的blob中。但是,我很難找到一種方法來讀取二進制數據以存儲在數據庫中的斑點中。

我的問題是:

  1. 任何人都可以提供[鏈接]在讀取二進制數據到客戶端HTML5網絡數據庫(和訪問它)的示例?
  2. 對於5MB的限制,這是一個明智的替代實施方法嗎?
+0

你有沒有得到這個地方?我在尋找類似的問題,但對於桌面 – 2010-10-21 12:43:08

+0

不幸的是,我們不得不圍繞嵌入式Safari實例編寫一個瘦應用程序。應用程序本身做了初始內容請求,抓取清單,獲取內容,然後在本地從磁盤呈現給瀏覽器實例。我們堅持解析與當前HTML5規範格式相同的清單,希望有一天我們可以擺脫應用程序,並使用RAW BROWSER POWER(R)TM !! 1! – andybee 2010-10-24 21:24:38

回答

5

只是想分享我的經驗,因爲它可能是相關的。我們已經(嘗試)開發基於iPad的網絡應用程序,需要存儲1000個圖像和文件(例如演示文稿和文檔文件)

Windows上的模擬(Safari 4 & 5)可以導入以base64編碼的圖像進入Web SQL數據庫(blob字段)並使用db回調來顯示它們以設置圖像標籤的來源,如src="data:image/jpeg;base64,...base65encimagedata..."

必須使用脫機緩存/清單上載其他文件(doc,ppt,pdf)。儘管我們可以將它們作爲base64加載到數據庫中,但無法查看它們。

現在的問題...桌面Safari可以讓你創建一個大型的SQL數據庫(我做了1千兆次進口3000張圖片),並沒有對離線緩存施加已知的限制。

但是在iPad上,事情並沒有那麼有用,因爲我無法創建超過50Mb的數據庫,再加上5Mb緩存限制。

一些替代品(我還沒有嘗試過它們尚)一直:

  1. 在iPad上嘗試的Opera Mini(或其他可用的瀏覽器)
  2. 我知道谷歌瀏覽器(使用WebKit的)有一個限制在它的SQL數據庫大小上,但是你可以用一些SQL'修補它'(https://groups.google.com/a/chromium.org/group/chromium-html5/browse_thread/thread/8672b2e0cd69a9f7/ebf17070d32c1168?lnk=gst&q=database+size#ebf17070d32c1168)來增加它的大小。也許這可以在iPad上完成。
+0

總之,這是不可能的(至少目前)。對於我的特定項目,它看起來就像在UIWebView周圍編寫一個瘦應用程序,將內容拉到iPad的文件系統然後顯示它。 – andybee 2010-09-01 20:17:20

2

該數據庫具有5 MB的限制,此後用戶被提示允許大約20多個MB。硬限制是20-25 mb,此後不能再向本地存儲中插入更多記錄。

+0

官方文檔的任何鏈接? – Dan 2013-01-20 23:01:12

+0

限制是平臺和瀏覽器特定的webStorage以及WebSQL。 – Astronaut 2013-04-01 09:15:27