如何在JavaScript中检查文件是否存在?

3
请问如何在JavaScript中检查文件是否存在?我正在使用Fileserver.js。运行时,它会创建一个名为“a.txt”的文件。再次运行时,它会创建:a.txt(1) [a.txt(2)...]。我想要检查文件是否存在,以便询问用户是否要覆盖该文件(如果文件存在)。请参考以下链接:http://jsfiddle.net/zrnQR/1/
$(function(){
    var blob = new Blob([ "iiiiiii" ], {
        type : "text/plain;charset=utf-8"
    });
    saveAs(blob, 'a,txt');
});

我在google上搜索了它,但每次都出现错误。


http://jsfiddle.net/zrnQR/4/

我检查了StackOverflow,请看这里:http://jsfiddle.net/zrnQR/4/ - Shruti
2个回答

3
您可以使用ajax请求服务器来查找文件是否存在。
演示:
$.ajax({
    url: 'http://www.yoururl.com/path/file.txt',
    type: 'GET',
    error: function()
    {
        //not exists
    },
    success: function()
    {
        // exists
    }
});

希望能解决您的问题。


http://jsfiddle.net/zrnQR/4/ - Shruti
无法工作,我正在检查,请检查这个fiddle。 - Shruti
在url中写入什么:'http://www.yoururl.com/path/file.txt'。 - Shruti
它正在下载到此路径:C:\Users\asd\Downloads。 - Shruti
你是指要检测本地保存的文件吗?如果是,你应该尝试使用HTML5文件API。但是HTML5在浏览器中存在兼容性问题。FileApi - Tyler.z.yang

0

这样可以吗?

function UrlExists(url)
{
    var http = new XMLHttpRequest();
    http.open('GET', url, false);
    http.send();
    if(http.readyState==4){  
    if(http.status==200)s+=" exists."; 
    else if(http.status==404)s+=" doesn't exist.";  
    else s+="";//any other status    
}

jsfiddle.net/zrnQR/4 - 它不起作用..我正在检查答案。 - Shruti
你能提供 fiddle 吗? - Shruti
@user2535959 - 你只能使用Ajax来访问与主机页面相同的域,因此像这样的解决方案只能在相同的域上工作(这被称为同源限制)。没有任何jsFiddle可以在你的域上使用你的文件,因为它位于不同的域上。 - jfriend00
我只需要在我的电脑上检查吗? - Shruti
@jfriend00,你能否提供一个可在你的PC上正常工作的简单示例,使用filesaver.js,大约需要5分钟。 - Shruti
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接