检查文件夹的变量(字符串)以查看文件是否存在

时间:2018-08-30 14:52:46

标签: javascript

编辑:这是一个登陆页面,该登陆页面与图像目录一起托管在服务器上。通过URL馈送的位置基于客户数据。目的是显示基于该数据的个性化图像。

我正在将字符串动态地输入到变量中。
该字符串是从URL收集的,然后在每次“ _”

迭代时进行拆分
var urlStr = window.location.href; //Germany_France_Spain
var urlStrDecode = decodeURI(urlStr);
var urlStrSplit = urlStrDecode.split('_');

每个迭代都存储为三个变量之一。这三个变量之一可以是变量foo,例如,可以将其输入“德国”。所以:

var foo = urlStrSplit[1];
console.log(foo); //Germany

我想针对 image文件夹检查变量foo,以查看其中是否存在包含的字符串。

Spain.jpg
Italy.jpg
France.jpg

如果不是,则在上述情况下为true。我想做某事

我不确定如何将其编写为类似if的语句。

谢谢您的任何建议/帮助/建议

尼尔。

1 个答案:

答案 0 :(得分:0)

如果使用诸如https://nodejs.org/api/fs.html之类的库来访问文件系统,则可以使用诸如fs.readdirSync之类的方法来读取文件夹中的文件名。此函数以字符串数组形式返回文件名。您可以拆分国家/地区输入以获取每个国家/地区名称。然后,您可以遍历图像文件名并检查其中是否存在任何国家/地区:

let imageFiles = fs.readdirSync('dir-name'); //['Spain.jpg', 'Italy.jpg', 'France.jpg']
let urlStrSplit = urlStrDecode.split('_'); // your string split from above. Eg, ['Germany', 'France', 'Poland']

function contains(imageFiles, country) {
  for(image of imageFiles) {
    if(image.includes(country))
      return true;
  }
  return false;
}

for(country of urlStrSplit) {
  if(!contains(imageFiles, country)) {
    // DO SOMETHING
  }
}