web离线应用程序可以访问本地文件

can web offline app access local file?

本文关键字:文件 访问 离线 应用程序 web      更新时间:2023-09-26

大家好:我正在创建一个离线的web应用程序。我希望它可以在UIWebView(iOS)或WebView(Android)中运行。我不知道它是否有效。html和javascript文件现在工作得很好,但我的应用程序需要处理一些由我自己定义的二进制文件,这些文件是动态创建的,所以它们不能放在离线缓存清单中。如果网页从web服务器加载到web浏览器中,我可以通过XMLHttpRequest读取二进制文件。但是如果浏览器打开页面作为本地文件,二进制文件不能通过http协议读取,甚至不能被javascript访问,我猜是出于安全原因。我被困在这里,你们能给我一些关于如何在离线web应用程序的javascript创建/读取/写入本地文件的提示吗?我尝试使用<img src="my_data_file"/>,希望可以从元素中获得原始数据,但是没有办法。如果javascript不能做到这一点,是否有任何解决方法来使用现有的html标签来读取原始数据?

有本地存储,它像数据库一样工作。这是一个很好的教程。

http://html5tutorial.net/tutorials/working-with-html5-localstorage.html

您必须通过使用Image()对象动态加载图像。浏览器应该在离线模式下缓存图像…

这个问题看起来和你要找的很相似:

可以使用HTML5本地存储来存储文件吗?如果不是,怎么做?

我使用Web SQL db(它在iOS上可以有50MB的最大存储空间;(在Android中可变大小)用于本地图像存储。我将图像序列化为base64(在服务器端,但也可以在客户端完成),并将它们作为文本存储在sqlite数据库中。它不是无限存储,但比5MB强。

您可能想看看这个项目http://www.phonegap.com/作为访问设备文件问题的可能的长期解决方案。这个系统所做的是为一些设备的实际硬件功能提供javascript API,可能包括操作大文件所需的文件IO。它是一个开源项目,已经存在很长一段时间了,但是有一些权衡,比如你必须为每个目标操作系统部署一个单独的二进制文件。: -/