Javascript 检查运行到CORS的映像是否存在

Javascript 检查运行到CORS的映像是否存在,javascript,angularjs,Javascript,Angularjs,我试图使用下面的函数检查图像是否存在,但一直遇到CORS错误。这些图像不是从服务器发送的,因此我无法添加常规访问控制标题。这些图像位于本地文件夹中,我只需要检查是否存在指定的图像 当前代码: function isInFolder(url) { var http = new XMLHttpRequest(); http.open('HEAD', url, false); http.send(); return http.status!=40

我试图使用下面的函数检查图像是否存在,但一直遇到CORS错误。这些图像不是从服务器发送的,因此我无法添加常规访问控制标题。这些图像位于本地文件夹中,我只需要检查是否存在指定的图像

当前代码:

function isInFolder(url)
    {
      var http = new XMLHttpRequest();
      http.open('HEAD', url, false);
      http.send();
      return http.status!=404;
    }
错误:

scripts.b0f3172f.js:1 XMLHttpRequest cannot load file:///Users/robertgrzesik/Documents/Development/AngularJS/Templates_Base/dist/assets/product1/content1/info/1.png. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
我试图做到的逻辑是:

// Assets can be images or videos
if(isInFolder(myAsset)) {
  myAssetArray.push(myAsset);
}
跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源

你得到的错误是不言自明的。您的脚本似乎试图直接访问文件系统,这是不允许的


您应该使用本地开发web服务器为您的资产提供服务。

这是实现此目的的最佳解决方案(没有web服务器):


您不能在
文件上执行XHR://
…后端使用哪种语言?非常感谢!我也被CORS击中了,不想调用PHP脚本来绕过CORS。这是最好的解决办法!
      var fileURL = "assets/"+scope.productDirectory+"/content1/info/"+x+".png";
      imageExists(fileURL, function(exists, url) {
        if(exists) {
          scope.contentOneSequence.push(url);
        }
      });

     function imageExists(url, callback) {
      var img = new Image();
      img.onload = function() { callback(true, url); };
      img.onerror = function() { callback(false, url); };
      img.src = url;
    }