如何使用javascript读取本地文本文件

时间:2017-07-19 10:08:05

标签: javascript sapui5

我在视图页面中有一个按钮。单击按钮时,函数被调用。在该函数中调用另一个函数,文件位置为参数。在第二个函数中,我需要读取传递位置中指定的文件并在控制台中显示内容。我已经尝试过的是以下

ReadFile : function(){
        this.ReadTextFile("C:\Users\RFRANCIS\Downloads\Inv00008W.txt");
    },
ReadTextFile: function(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;
                    alert(allText);
                }
            }
        }
        rawFile.send(null);

    }

但我收到Access拒绝错误。请找我解决此问题或建议另一种方法。我正在IE11中测试。

1 个答案:

答案 0 :(得分:0)

为了访问您的本地驱动器,您需要一个有效的文件网址,该网址可能看起来更像file:///c:/,但您在此处有一些重叠问题:

  1. 本地文件的网址必须以file:///
  2. 开头
  3. 您需要了解Javascript字符串文字中的转义字符和斜杠(您需要使用特殊语法在javascript中表示斜杠)
  4. 当您修复这些内容时,您仍然会获得CORS安全性异常,因为(至少chrome)不会将本地文件视为一个域。 (要解决此问题,您需要专门设置chrome,或者在本地计算机上使用正确的localhost http服务器。