我有一个网页,我需要检查文件是否存在,它们的文件大小和文件类型各不相同,我可以使用以下代码,但对于较大的文件,可能需要很长时间(其中一个需要 30 秒)返回结果。我想知道是否有更好的方法,如果是对话的话会是这样的:
“文件在吗?”
“是的。我在这里,上周日我...”
“是啊,是啊,你在那里嘘”
function fileExists(url) {
if(url){
var req = new XMLHttpRequest()
req.open('GET', url, false)
req.send()
return req.status==200
} else {
return false
}
}
因此,任何人都知道一种更好的方法,该方法不必加载尽可能多的文件,或者一旦知道文件在那里就可以取消加载。
最佳答案
尝试 HEAD
请求:
function fileExists(url, callback) {
if(url){
var req = new XMLHttpRequest();
req.addEventListener('readystatechange', function(e) {
if (this.readyState === 4) {
callback(this.status !== 404);
}
});
req.open('HEAD', url, false);
} else {
callback(false);
}
}
但是你必须使用回调函数,因为它是一个异步请求
关于javascript - 快速检查大文件是否存在 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35479156/