在Javascript中从本地目录中读取文本文件

时间:2018-01-04 06:23:41

标签: javascript google-chrome-extension

我正在使用Chrome扩展程序,我想从文本文件中获取数据,这些文件将与具有该功能的Javascript文件位于同一目录中(即,将文本文件作为字符串读取并使用它们进行分析某种)。我是Javascript的新手,所以我一直在试图弄清楚如何做到这一点 - 由于用户没有上传我正在使用的文件,而且我不是因为FileReader似乎无法工作确定XML HTTPRequest在这种情况下如何有用。谢谢!

tldr;我想以字符串形式读取与Javascript文件在同一目录中的文本文件。

更新:该文件不是来自用户文件系统的文件,而是一个包含扩展名的文件!因此,包含HTML文件和Javascript文件的文件夹也将包含文本文件。

3 个答案:

答案 0 :(得分:2)

如果我错了,有人会纠正我,但据我所知,由于安全问题,这在JavaScript中是不可能的。

如果是这样,网页可能会在未经您同意或您不知情的情况下抓取您文件系统上的任何文件。这是一个主要的安全问题,所以我不相信这是可能的。

必须为用户提供从文件系统中明确选择文件的选项。

答案 1 :(得分:1)

您可以尝试:

function readTextFile(file)
{
   var rawFile = new XMLHttpRequest();
   rawFile.open("GET", file, false);
   rawFile.onreadystatechange = function ()
    {       
         var allText = rawFile.responseText;
            alert(allText);

    }

 rawFile.send(null);
}

并在与Javascript文件相同的目录中指定file://

答案 2 :(得分:0)

由于浏览器安全标准,您根本无法访问(HDD)中的任何文件。

请尝试使用此Chrome API https://developer.chrome.com/apps/app_storage#filesystem-manifest