如何使用PhoneGap / Cordova在本地缓存图像文件?

时间:2014-06-03 14:28:54

标签: javascript caching cordova

这是我的问题:

我使用AngularJS和Cordova制作了一个Web /移动应用程序。出于离线目的,我使用localStorage存储应用程序的所有数据(JSON,参数等)。

问题是:我需要在本地存储/缓存图像(再次,离线目的)。 由于localStorage大小限制约为5mo,我无法使用它,我需要更多

我以为我可以使用缓存清单,但它不起作用,因为我需要定期更新它,而无需重新编译应用程序(我以为我可以将缓存清单放在外部服务器上,但它&# 39;就像我不能使用来自另一个域的缓存清单一样。)

所以我考虑使用Cordova / Phonegap File API,但是我不知道如何实现 ...

任何帮助或想法?

2 个答案:

答案 0 :(得分:25)

经过长时间搜索SO和Github后,我找到了 imgCache.js ,这是一个处理Chrome,Android和iOs(通过Cordova)文件缓存的JS库。

https://github.com/chrisben/imgcache.js/

然后,基本上:

var target = $('.cached-img');

ImgCache.isCached(target.attr('src'), function(path, success){
          if(success){
            // already cached
            ImgCache.useCachedFile(target);
          } else {
            // not there, need to cache the image
            ImgCache.cacheFile(target.attr('src'), function(){
              ImgCache.useCachedFile(target);
            });
          }
        });

答案 1 :(得分:1)

通过Cordova File插件使用HTML5文件系统。 Cordova文档文档应该为您提供FileEntry->文件。然后,该文件应该可以通过HTML 5 FileSystem方法使用。 https://github.com/apache/cordova-plugin-file