2012-02-28 53 views
11

我正在研究基於Web的應用程序,該應用程序可能會在Internet連接不穩定的環境中使用。我將它作爲一個HTML5離線應用程序來實現,它將利用HTML5本地存儲(實際上是jQuery插件jStorage)。這是一個數據輸入驅動的應用程序,因此在脫機時創建的所有新條目都將保存在本地存儲中,並且在重新建立Internet連接時將在稍後與服務器同步。我幾乎得到了這個工作,但現在我面臨一個需求,即用戶實際上需要上傳圖像以及數據輸入提交。
我發現這個HTML5 API規範 - http://www.w3.org/TR/file-upload/,它討論文件上傳和離線訪問。在我深入研究這個之前,有沒有關於這個功能的任何包裝來簡化這一點?
我也剛剛發現這篇文章 - http://hacks.mozilla.org/2010/02/an-html5-offline-image-editor-and-uploader-application/,它利用了一個公開的TwitPic API,我想從這裏的人那裏得到一些專業的反饋。

謝謝!在HTML5離線應用程序中上傳文件

+0

我不太確定我瞭解你。您無法將文件上傳到服務器。期。您鏈接的演示文稿必須保留在文件中並等待連接,但是沒有任何不可思議的方式可以避開脫機。 – 2012-12-20 13:13:25

+3

@RaymondCamden - 這正是我正在尋找的 - 將文件(或其內容)保存在某個地方,直到連接再次可用。我正在寫一個「偶爾連接」的應用程序,它不能依賴連接在任何時候。它在HTML5本地存儲中「緩存」未解壓的記錄,並在連接可用時將其與服務器同步。我只是想知道如何用文件來完成。 – 2012-12-27 22:43:02

回答

3

我知道這已經有一段時間了,因爲我問了這個問題,但我仍然看到這個問題被收藏和提出,所以我想我會分享我最終如何解決這個問題。 在我的情況下,文件不是那麼大,所以我只是決定對它們進行MIME編碼,然後將字符串存儲在HTML5 localStorage中。它充當魅力。

+1

更多細節會很方便。 [這是這個問題](http://stackoverflow.com/questions/19183180/how-to-upload-an-image-save-it-to-localstorage-and-then-display-it-on-the-next)涵蓋圖像,但它應該是做這個答案中粗略描述的一個很好的例子。 – 2014-09-22 20:04:44

+0

您好@insiderpro,因此您將圖像保存到localstorage,以後如何將它們推送到服務器?作爲base64? 10x – Bill 2017-04-27 15:04:25

+1

@Bill,是的,我把它們作爲base64字符串推送到服務器。 – 2017-05-05 15:29:42

1

我不認爲localStorage將在這裏是正確的答案,因爲localStorage只保存字符串,並有5兆字節的存儲限制。

我建議是這樣http://pouchdb.com

但是如果你堅持localStorage,然後Mozilla的黑客有大約存儲圖像localStorage的文章: http://hacks.mozilla.org/2012/02/saving-images-and-files-in-localstorage/

indexedDB可能是一個更好的地方來存儲文件: http://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/

相關問題