Javascript找不到文件

时间:2018-08-24 10:15:13

标签: javascript path

我正在开发一个firefox插件,很有趣,但是遇到了一个问题。我想读取一个文本文件,但似乎无法打开该文件进行读取。 我正在计算机上运行此程序,不涉及任何服务器。

这是我正在使用的代码:

function readTextFile(file)
{
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", file, false);
    rawFile.onreadystatechange = function ()
{
    if(rawFile.readyState === 4)
    {
        if(rawFile.status === 200 || rawFile.status == 0)
        {
            var allText = rawFile.responseText;
            var lines=rawFile.responseText.split('\r\n');
            var list=[];
            for (var line=0; line<lines.length; line++)
            {
                list.push(lines[line]);
            }
            console.log(list);
        }
    }
}
rawFile.send(null);
}

readTextFile('file:///C:/Users/respect/my/privacy/ImgArray.txt');

经过一些测试,我认为脚本可以达到rawFile.onreadystatechange =。我的道路似乎是正确的,所以我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

出于安全原因,无法使用file://打开任意文件。如果允许您从文件系统读取本地文件,则任何插件或网站都可以尝试扫描硬盘驱动器并读取任何内容。

如果您将文件托管在拥有适当跨域标头的域中,则它应该可以正常工作http://mydomain/myfiles/ImgArray.txt

如果要本地文件,则必须使用HTML5 File API并让用户选择要授予权限的文件。

答案 1 :(得分:0)

将最后一行更改为此

readTextFile('./ privacy / ImgArray.txt'); 要么 readTextFile(“ ./ privacy / ImgArray.txt”); 并确保您的文件存在于该路径中。

祝你好运