如何使用Javascript FileReader()打开本地文件

How to open a local file with Javascript FileReader()

本文关键字:文件 何使用 Javascript FileReader      更新时间:2023-09-26

我想修改这段代码,使其仅适用于特定文件,但我无法找出正确的URL参数和我发现使用文件选择对话框的所有代码示例。

<!DOCTYPE html>
<html>
  <head>
    <title>reading file</title>
    <script type="text/javascript">
        var reader = new FileReader();
        function readText(that){
            if(that.files && that.files[0]){
                var reader = new FileReader();
                reader.onload = function (e) {  
                    var output=e.target.result;
                    //process text to show only lines with "@":             
                    output=output.split("'n").filter(/./.test, /'@/).join("'n");
                    document.getElementById('main').innerHTML= output;
                };//end onload()
                reader.readAsText(that.files[0]);
            }//end if html5 filelist support
        } 
</script>
</head>
  <body>
    <input type="file" onchange='readText(this)' />
    <div id="main"></div>
  </body>

为什么当我从

更改代码时它不工作?
<body>
    <input type="file" onchange='readText(this)' />
    <div id="main"></div>
</body>

:

<body onload="readText('file:///C:/test.txt')">
    <div id="main"></div>
</body>

由于安全限制,浏览器不提供这种功能。你不允许读取本地文件,直到用户在文件选择对话框中不选择特定的文件(或者不使用拖放操作)。这就是为什么所有的代码示例都使用文件选择对话框。

HTML5是否允许你在浏览器中与本地客户端文件交互