我正在研究基於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離線應用程序中上傳文件
回答
我知道這已經有一段時間了,因爲我問了這個問題,但我仍然看到這個問題被收藏和提出,所以我想我會分享我最終如何解決這個問題。 在我的情況下,文件不是那麼大,所以我只是決定對它們進行MIME編碼,然後將字符串存儲在HTML5 localStorage中。它充當魅力。
更多細節會很方便。 [這是這個問題](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
您好@insiderpro,因此您將圖像保存到localstorage,以後如何將它們推送到服務器?作爲base64? 10x – Bill 2017-04-27 15:04:25
@Bill,是的,我把它們作爲base64字符串推送到服務器。 – 2017-05-05 15:29:42
我已經在HTML5文件API寫的一篇文章,而一些前 - http://speckyboy.com/2012/10/30/getting-to-grips-with-the-html5-file-api-2/
也可參考的GitHub庫 - https://github.com/mailru/FileAPI的提前控制。
我不認爲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/
- 1. HTML5和離線移動應用程序
- 2. 安全離線html5/js-應用程序?
- 3. HTML5離線/在線應用
- 4. 離線和在線同步HTML5中的Web應用程序?
- 5. HTML5在IFrame中的離線應用程序清單用法
- 6. 在HTML5離線應用程序中需要swapCache()嗎?
- 7. IOS HTML5離線應用程序是否會在appstore中列出?
- 8. 在HTML5離線應用程序中處理圖像?
- 9. 如果(Internet ==不可用)在HTML5應用程序清單離線應用程序
- 10. iOS 4.3.4中可能有離線HTML5應用程序嗎?
- 11. 在離線jQuery應用程序中訪問本地文件
- 12. 在Safari中上傳HTML5網絡應用程序中的音頻文件iPad
- 13. Backbone.js在離線應用程序中
- 14. 在asp.net中的離線應用程序
- 15. 在線上傳.net應用程序?
- 16. HTML5離線應用程序:如何從localStorage(FileSystem API)查看TIFF文件
- 17. 離線Web應用程序,應用程序緩存,Ipad iOS6和HTTPS,HTML5
- 18. 離線圖片上傳爲Meteor.js應用程序
- 19. 離線Web應用程序
- 20. 鈦離線應用程序
- 21. Angular應用程序離線
- 22. 使用Java構建HTML5離線Web應用程序
- 23. HTML5離線啓用的網絡應用程序
- 24. 在離線應用程序加載時阻止HTML5 applicationCache檢查事件
- 25. 身份驗證與Web應用程序離線(GAE蟒蛇,HTML5)
- 26. 獨立離線html5網絡應用程序?
- 27. GWT HTML5離線網絡應用程序動態清單
- 28. 關於HTML5離線存儲和緩存的iPad應用程序
- 29. 離線HTML5應用程序和跨站點通信
- 30. HP TouchPad是否支持HTML5的離線應用程序(清單)
我不太確定我瞭解你。您無法將文件上傳到服務器。期。您鏈接的演示文稿必須保留在文件中並等待連接,但是沒有任何不可思議的方式可以避開脫機。 – 2012-12-20 13:13:25
@RaymondCamden - 這正是我正在尋找的 - 將文件(或其內容)保存在某個地方,直到連接再次可用。我正在寫一個「偶爾連接」的應用程序,它不能依賴連接在任何時候。它在HTML5本地存儲中「緩存」未解壓的記錄,並在連接可用時將其與服務器同步。我只是想知道如何用文件來完成。 – 2012-12-27 22:43:02