色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 判斷文件是否存在

錢旭東1年前7瀏覽0評論

在web開發(fā)中,有時候需要判斷某個文件是否存在,比如需要讀取某個文件的內(nèi)容或者在上傳文件時檢查文件是否已經(jīng)存在。

為了便于舉例說明,我們假設有一個文件夾,里面包含了以下三個文件:

test.html
test.css
test.js

現(xiàn)在我們需要判斷某個特定的文件是否存在。

方法一:

var xhr = new XMLHttpRequest();
var url = "test.html"; // 需要判斷的文件名
xhr.open('HEAD', url, false);
xhr.send();
if (xhr.status == "404") {
console.log("文件不存在");
} else {
console.log("文件存在");
}

這個方法使用XMLHttpRequest進行判斷,基本原理是向服務器發(fā)送一個HEAD請求,如果文件不存在會返回404狀態(tài)碼。

方法二:

var url = "test.css"; // 需要判斷的文件名
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
if (http.status != 404) {
console.log("文件存在");
} else {
console.log("文件不存在");
}

這個方法跟方法一是類似的,只是在判斷狀態(tài)碼的時候使用了不等于404。

方法三:

var url = "test.js"; // 需要判斷的文件名
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
if(http.status==200){
console.log("文件存在");
}else{
console.log("文件不存在");
}

這個方法比較簡單粗暴,直接判斷狀態(tài)碼是否為200,如果為200則說明文件存在。

方法四:

function CheckExist(urlToFile)
{
var xhr = new XMLHttpRequest();
xhr.open('HEAD', urlToFile, false);
xhr.send();
if (xhr.status == "404") {
return false;
} else {
return true;
}
}
var url = "test.html"; // 需要判斷的文件名
var fileExist = CheckExist(url);
if (fileExist) {
console.log("文件存在");
} else {
console.log("文件不存在");
}

這個方法比較通用,將判斷的代碼封裝成了一個函數(shù),只需要將要判斷的文件名作為參數(shù)傳入即可。

綜上所述,以上四種方法都是基于XMLHttpRequest來判斷文件是否存在,其中前三種比較直接,可以根據(jù)需要靈活選用,第四種則略微復雜些但更通用。