在HTML5离线应用程序中上传文件

时间:2012-02-28 18:31:35

标签: html5 file-upload local-storage offline cache-manifest

我正在研究基于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,我想得到来自这里的人的一些专业反馈。

谢谢!

3 个答案:

答案 0 :(得分:4)

我知道它已经有一段时间了,因为我问过这个问题,但我仍然认为这个问题受到青睐和赞成,所以我想我会分享我最终解决这个问题的方法。 在我的情况下,文件不是很大,所以我只是决定对它们进行MIME编码,然后将字符串存储在HTML5 localStorage中。它充当魅力。

答案 1 :(得分:1)

我之前在HTML5文件API上撰写了一篇文章 - http://speckyboy.com/2012/10/30/getting-to-grips-with-the-html5-file-api-2/

另请参阅GitHub回购 - https://github.com/mailru/FileAPI进行预先控制。

答案 2 :(得分:1)

我认为localStorage在这里不是正确的答案,因为localStorage仅保存字符串并且具有5 MB的存储限制。

我建议使用http://pouchdb.com

之类的内容

但如果你坚持localStorage,那么Mozilla Hacks就有一篇关于在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/