La mejor manera de almacenar en caching las imágenes en PhoneGap IOS

Estoy construyendo una aplicación PhoneGap ios que solía importar datos del server usando JSON, esta información contiene la URL de la image, ya he usado para almacenar en caching los datos en el almacenamiento local para usarlo cuando la aplicación está fuera de la connection a Internet pero yo tener una preocupación es acerca de cuál es la mejor manera de cachear imágenes.

Estaba pensando en convertir las imágenes a data-uri y savela en IOS DataBase.

Por favor, ¿si esta solución es factible o hay otras mejores soluciones?

Esta publicación de blog debería guiarte por el path correcto https://www.raymondcamden.com/2012/01/19/Downloading-files-to-a-PhoneGap-application-Part-1/

La API de Phonegap tiene un sistema de files que puede usar para almacenar imágenes descargadas de serveres remotos, ¿esa podría ser su mejor opción?

Los files se almacenarán en la carpeta Documentos de la aplicación, por lo que necesitará encontrar esa ruta (que es diferente de cada installation a la siguiente), luego guarde el file localmente y guarde la ruta en el almacenamiento local.

Aquí hay un fragment de código: en primer lugar, crea y guarda un file dummy.html para entrenar la ruta local, luego descarga el file,

function downloadFile(webURL,webFilename){ window.requestFileSystem( LocalFileSystem.PERSISTENT, 0, function onFileSystemSuccess(fileSystem) { fileSystem.root.getFile( "dummy.html", {create: true, exclusive: false}, function gotFileEntry(fileEntry){ var sPath = fileEntry.fullPath.replace("dummy.html",""); var fileTransfer = new FileTransfer(); fileEntry.remove(); fileTransfer.onprogress = function(result){ var percent = result.loaded / result.total * 100; percent = Math.round(percent); console.log('Downloaded: ' + percent + '%'); }; fileTransfer.download( webURL, sPath + webFilename, function(theFile) { console.log("download complete: " + theFile.toURL()); showLink(theFile.toURL()); }, function(error) { console.log("download error source " + error.source); console.log("download error target " + error.target); console.log("upload error code: " + error.code); navigator.notification.alert('Seems to be an error downloading this background. Try again later.', null, 'Error', 'OK'); } ); }, fail); }, fail); } function showLink(localurl){ console.log(localurl); }