网络离线应用程序可以访问本地文件吗?

| 嗨,大家好:   我正在创建脱机Web应用程序。我希望它可以在UIWebView(iOS)或WebView(Android)中运行。我不知道它是否有效。 html和javascript文件现在可以正常工作,但是我的应用程序需要处理一些由我自己定义的二进制文件,并且这些文件是动态创建的,因此无法将它们放入离线缓存清单中。如果网页是从Web服务器加载到Web浏览器中的,则可以通过XMLHttpRequest读取二进制文件。但是,如果出于安全原因,我猜想如果浏览器将页面作为本地文件打开,则二进制文件将无法通过http协议读取,甚至无法通过javascript访问。我被困在这里,你们能给我一些关于离线网络应用中的javascript如何创建/读取/写入本地文件的提示吗?我尝试使用
<img src=\"my_data_file\"/>
,希望我可以从元素中获取原始数据,但是没有办法。如果javascript无法做到这一点,是否有任何解决方法可使用现有的html标记读取原始数据?     
已邀请:
有本地存储,它像数据库一样工作。这是一个不错的教程。 http://html5tutorial.net/tutorials/working-with-html5-localstorage.html 您必须通过使用Image()对象来动态加载图像。尽管浏览器应该以离线模式缓存图像... 这个问题看起来与您要查找的内容非常相似: 您可以使用HTML5本地存储来存储文件吗?如果没有,怎么办?     
我使用Web SQL数据库(iOS上最大存储为50MB; Android中最大为可变大小)来存储本地图像。我将图像序列化为base64(在服务器端,但是也可以在客户端完成),并将它们作为文本存储在sqlite db中。它不是无限的存储空间,但超过5MB。     
您可能想看看这个项目http://www.phonegap.com/,作为访问设备文件问题的可能的长期解决方案。该系统的作用是为您提供一些设备的实际硬件功能的javascript API,其中可能包括操作大型文件所需的文件IO。它是一个开放源代码项目,已经存在了很长一段时间,但是存在一些折衷,例如您必须为每个目标OS实际部署一个单独的二进制文件。 :-/     

要回复问题请先登录注册