这是我的问题:
我使用AngularJS和Cordova制作了一个Web /移动应用程序。出于离线目的,我使用localStorage存储应用程序的所有数据(JSON,参数等)。
问题是:我需要在本地存储/缓存图像(再次,离线目的)。 由于localStorage大小限制约为5mo,我无法使用它,我需要更多。
我以为我可以使用缓存清单,但它不起作用,因为我需要定期更新它,而无需重新编译应用程序(我以为我可以将缓存清单放在外部服务器上,但它&# 39;就像我不能使用来自另一个域的缓存清单一样。)
所以我考虑使用Cordova / Phonegap File API,但是我不知道如何实现 ...
任何帮助或想法?
答案 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