【问题标题】:How can i store a 50MB video in HTML5's app cache?如何在 HTML5 的应用缓存中存储 50MB 视频?
【发布时间】:2012-02-25 01:49:22
【问题描述】:

我正在开发一个 iOS 离线应用程序,我正在尝试存储一个 50MB 的视频以供离线观看。然而,在我的manifest.appcache 中正确添加视频的 url 后,我得到一个控制台错误,说 appcache 限制超出了允许的大小。因此,打破了我的整个页面;之后没有加载任何资源。

一旦我从应用缓存中取消链接视频,一切正常。

有没有办法可以规避这种行为?或者,有没有办法可以在 IOS5+ iPad 上存储 50MB 视频以供离线观看?

【问题讨论】:

    标签: javascript ios ipad html html5-appcache


    【解决方案1】:

    您必须要求用户增加 iOS 设置中的限制。查看金融时报网络应用,了解他们的方法。

    http://apps.ft.com/ftwebapp/

    让用户手动操作不是很优雅,但由于没有 API,因此没有真正的替代方案(PhoneGap 等除外)。

    【讨论】:

    • 应用缓存限制即使是用户也不能增加。金融时报网络应用程序同时使用 app-cache 和 sqlite 数据库。我们得到的提示是增加 sqlite 数据库的限制,但不是 app-cache
    • 啊,好吧。我不知道它有区别,但很高兴知道。
    • 也许您可以将资源存储在 SQLite 数据库中,然后使用数据 URI 方案加载插入到页面中?
    • 这几乎就是 JSNinja 接受的答案所暗示的。
    【解决方案2】:

    可能无法存储您的 50MB 视频。 iOS 上的当前限制似乎是 5mb。

    根据this answer 的类似问题,可以通过一些技巧来提出它,但这可能不是您的视频的选择。

    也许您可以包含视频的(真正)低分辨率版本,甚至可以以更小的尺寸供离线观看。

    【讨论】:

      【解决方案3】:

      根据您的browser requirements,您可能会发现 IndexDB 作为存储文件以供离线访问的可能解决方案。 IndexDB 旨在存储比本地存储更多的数据。

      演示:Storing Images and files in IndexDB

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-12
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 2011-02-26
        • 2021-06-28
        • 1970-01-01
        相关资源
        最近更新 更多