2016-07-26 96 views
0

我在我的Ionic项目的www文件夹中放置了一个名为kml的文件夹。我想看看文件夹中是否存在文件,但我不确定应该使用哪条路径。目前,我只对iOS(模拟器和真实设备)进行过测试,并且已经使用了所有iOS路径,即使它存在,仍然无法找到KML文件。

下面显示正是我放在kml文件夹:

enter image description here

下面是如何以编程方式尝试检查一个KML文件存在。

$cordovaFile.checkFile(cordova.file.applicationStorageDirectory, $stateParams.kml_file) 
.then(function (success) { 
    // success 
    console.log("kml file found"); 
    console.log(success); 
}, function (error) { 
    // error 
    console.log("kml file NOT found"); 
    console.log(error); 
}); 

除了事实,我知道KML文件中www/kml文件夹中存在,因为我把它放在那里,我打开使用geoXML3库的KML文件,并将其加载到谷歌地图成功。

当前从检查分离文件是否存在,这就是为什么我需要知道,如果KML文件手前之前,我尝试用geoXML3解析它并将其加载到地图中的存在。但我不知道正确path

我用所有建议的iOS路径从http://ngcordova.com/docs/plugins/file/即:applicationDirectorydocumentsDirectorydataDirectorycacheDirectorytempDirectory。但该文件不能与所有这些文件一起找到。我得到“KML文件未找到”在Xcode的控制台和错误{"code":1,"message":"NOT_FOUND_ERR"}

回答

2

我使用AJAX来检查文件是否存在:

$.ajax({ 
    type: "HEAD", 
    url: "path/to/your/file.txt", 
    success: function() { 
     // do something 
    }, 
    error: function() { 
     // do something 
    } 
}); 
+1

谢谢你的提示。我决定使用'$ http.head(“./kml /”+ $ stateParams.kml_file).then(function(res){...});'因为我使用的是AngularJS。我将这个答案标记为正确的答案,因为Angular的'$ http'和'$ .ajax()'是一样的。 – junerockwell

相关问题