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