2015-10-16 29 views
-2

我想找到正确的方法来检查我的离子/角应用程序中是否存在文件。检查本地文件存在与角

现在我发现这个解决方案使用jquery,但我需要避免jquery。

你能帮我把这个翻译成Angular吗?

var status = url.fileExists(); 

    String.prototype.fileExists = function() { 
    var filename = this.trim(); 

    var response = jQuery.ajax({ 
     url: filename, 
     type: 'HEAD', 
     async: false 
    }).status; 

    return (response != "200") ? false : true; 
}; 

我的尝试将是以下,这是“良好的做法”?

String.prototype.fileExists = function() { 
    var filename = this.trim(); 

    var request = new XMLHttpRequest(); 
    request.open('HEAD', filename, false); 
    request.send(); 
    var response = request.status; 

    return (response != "200") ? false : true; 
}; 

感谢

+0

会更有意义,使HEAD请求 – charlietfl

+0

@charlietfl你可以请出示相应的代码?我只是实际检查文件是否在这里。 – Louis

回答

-1

我想是这样的:

var status = url.fileExists(); 

    String.prototype.fileExists = function() { 
    var filename = this.trim(); 

    var response = $http({ 
     url: filename, 
     method: 'HEAD', 
     async: false 
    }).status; 

    return (response != "200") ? false : true; 
}; 
0

将这项工作:

.service('UrlExists', ['isPhoneGap', '$http', function(isPhoneGap, $http) { 

    this.newF = function(url){ 
     $http.get(url) 
      .success(function(data, status){ 
       if(status==200){ 
        return true; 
       }else{ 
        return false; 
       } 
      }) 
      .error(function(data,status){ 
       if(status==200){ 
        return true; 
       }else{ 
        return false; 
       } 
      }); 
    } 
}])