I'm preparing a cordova app for ios and android. On android, my app downloading a zip file and extract it into sdcard. This zip file contains some xml files and some jpegs. But unfortunately i cant access to xml files via $.ajax
.
i tried following paths;
cdvfile://sdcard/webservice/Resim/Kategori.xml
cordova.file.externalRootDirectory + '/Resim/Kategori.xml'
And my ajax looks like;
$.ajax({
url: 'cdvfile://sdcard/webservice/Resim/Kategori.xml',
dataType: 'xml',
async:false,
cache:false,
success: parseMenu
});
What is wrong with my ajax request? I tried send xml
file into www
directory before i build app and it works with this path '../webservice/Resim/Kategori.xml'
How can i access my downloaded xml via $.ajax
or should i download it into android_asset/www/webservice
path, if yes how can i download it to there?
PS: My download and extract function executes good, if needed;
function appReady(){
alert('tamam');
}
var filePath = "/sdcard/";
//İndirelecek dosyanın URL yolu
var zipURL = "http://www.somedomain.com/webservice/webservice.zip";
//İndirilen dosyanın alacağı isim.
var fileName = "webservice.zip";
function downloadZip() {
var options = new FileUploadOptions();
var fileTransfer = new FileTransfer();
fileTransfer.download(
encodeURI(zipURL),
filePath + fileName,
function(entry) {
zip.unzip(filePath+ fileName, filePath, appReady, null);
alert("download complete: " + entry.fullPath);
},
function(error) {
alert(error);
alert("download error source " + error.source);
alert("download error target " + error.target);
},
false,
{
}
);
}
function init(){
// eğer indirilmediyse..
if(localStorage.getItem('downloaded') != "yes") {
alert('inmemiş inecek..');
// uygualama ana klasörünü dosya yolu olarak belirledim siz değişebilirsiniz.
alert(filePath);
// zip dosyasını indir
downloadZip();
} else {
alert('İnmiş gözüküyor');
// uygulamanızı çalıştıran fonksiyon olduğunu varsaydım.
appReady();
}
}
document.addEventListener("deviceready", init, false);