检查本地图像是否存在返回始终为true

时间:2016-03-02 08:39:38

标签: javascript html cordova

我尝试使用以下代码检查我的移动PhoneGap应用程序中是否有可用的图像:

function imageExists(image_url){

    var http = new XMLHttpRequest();

    http.open('HEAD', image_url, false);
    http.send();

    return http.status != 404;

}

图像存储在设备上,缺少一些图像。但即使图像不存在,返回的状态也始终为200。我在这里找到了解决方案:Check if image exists on server using JavaScript? 它似乎适合每个人。我错过了什么?

编辑:就像我在我的问题中说的那样建议的解决方案不起作用,我想知道为什么?这不是可能的出版物。请阅读我的问题..

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是使用File Plugin并调用getFile方法 - 有关使用情况的详情,请参阅here。以下是您希望用作起点的内容:

function onInitFs(fs) {

  fs.root.getFile('filename.jpg', {create: false, exclusive: false}, 
     function(fileEntry) {
          //file exists
          console.log("Woohoo the file exists!");
     }, fileErrorHandler);
}

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onInitFs, errorHandler);

function fileErrorHandler(){
     //file doesn't exist
     //now go get the file
     callYourGetFileHere();
}