【问题标题】:Extending HTML5 mobile app for more file storage扩展 HTML5 移动应用程序以获得更多文件存储
【发布时间】:2026-01-19 23:30:02
【问题描述】:

我的团队正在编写一个大量使用 appcache 和本地存储的 HTML5 应用程序。我们的目标平台是 ipad 和 android 平板电脑(以及我们在桌面浏览器中广泛工作的设计时间,尽管这不一定是必须的)。

现在我们想要添加一些离线可用的功能,这些功能将超出基于浏览器的存储所能支持的范围 - 即视频和二进制内容库,其容量将超出 appcache 的处理能力。

如果没有实现 html5 文件系统 api 的主要移动浏览器,似乎很像需要某种本机应用程序方法(如果我在这里错了,请纠正我......我很想在这方面犯错!)。所以,我很想听听人们的意见/经验。我们正在考虑一些不同的想法,涉及以下一项或多项:

  1. 在 phonegap 中编译 + 使用他们的文件 apis
  2. 使用 Dropbox sdk(还需要某种原生支持,不确定 phonegap 是否可以工作)
  3. 编写托管 webkit 控件的每平台自定义本机应用程序,然后使用我们现有的跨平台 html5 应用程序提供大部分功能(基本上我们将使用标准 webkit 控件编写每平台自定义浏览器)。

请注意,我是#3 的粉丝,因为我觉得我们可以发布一个相对稳定的 shell,但同时保留 html5 跨平台的优点和我们应用程序的易于分发。但是,我不知道这种方法是否有效(和/或 Apple 是否不赞成这种方法——似乎有点像 App Store 的漏洞)。

很想听听您尝试过和/或听说过的内容。

【问题讨论】:

    标签: html cordova mobile-website dropbox-api


    【解决方案1】:

    这可能是一个完全愚蠢的想法,但是,如果您正在寻找一种廉价的方式来获得额外的存储空间,为什么不直接使用 html 或 js 文件来包含数据呢?无论出于何种原因,您甚至可以将其存储为 64 位数据 uri 并以本机方式运行媒体。我认为您甚至可以通过将清单操作为反射来将数据保存到其中。这需要一点汤姆的愚蠢,但它应该可以工作。

    【讨论】:

    • 我的理解是,appcache 对每个站点的大小限制非常低(5mb 左右,但每个浏览器不同)对于我们的应用程序本身来说几兆就可以了,但如果我们想支持的话,小土豆视频剪辑、照片等内容库。
    • 我知道 appcache/localstorage 有大约 5mb 的限制,但我不知道该限制已应用于实际源代码。
    • iOS 有 50Mb 的限制,但缓存视频很不稳定,文件很容易损坏,所以我认为这不是一个好主意。
    【解决方案2】:

    如果您使用方法 1,一旦主要浏览器支持 File API,您就可以很好地转移到 Web 应用程序。您会看到 PhoneGap 中的 File API 基于浏览器将实现的 W3C 规范。

    2,我开始为 PhoneGap Android 开发一个 Dropbox 插件,但我需要一些“空闲时间”来完成它。

    3,如果您的应用只是您网站的包装,Apple 可能会拒绝它。他们过去曾这样做过。

    西蒙

    【讨论】:

      最近更新 更多