你如何在PC上阅读本地文件并在javascript中不断更新?

时间:2015-09-03 17:58:50

标签: javascript html file web webpage

因此,我制作了一个java程序,该程序运行IPs列表,对其进行ping操作,并更新设备状态文件。我想知道如何将文件打开到webpage并更新,以便用户可以打开网页,只看到文件中的数据列表,他们不必选择文件或刷新页面。

这对javascript/html是否可行?

这是我目前使用的代码:

    <html>
    <head>
    <title>Import Data</title>
    <script>

        var openFile = function() {
            var input = event.target;

            var reader = new FileReader();
            reader.onload = function() {
                var text = reader.result;
                var node = document.getElementById('output');
                node.innerText = text;
                console.log(reader.result.substring(0,200));
            };

            reader.readAsText(input.files[0]);
            setTimeout(openFile(),1000);
        };
    </script>
    </head>
    <body>
    <input type='file' accept='text/plain' onchange='openFile()'><br>
    <div id='output'>
    </body>
    </html>

但我似乎无法找到将文件路径硬编码的位置。当我使用这种手动选择方法时,它会更新一次,无论文件是增加还是减少。< / p>

编辑:

我已将其缩小到需要上传文件的位置:

    <html>
       <head>
       <title></title>
       <script>
       function uploadFile() {
           var reader = new FileReader();
           reader.onload = function(event) {
              var contents = event.target.result;
              console.log("File contents: " + contents);
           };

           reader.onerror = function(event) {
              console.error("File could not be read! Code: " + event.target.error.code);
           };

           var fileInputElement = document.getElementById("FileName");
           reader.readAsText(fileInputElement.files[0]);
           console.log(fileInputElement.files[0]);
        }
        </script>
        </head>
        <body>
        <input type='file' accept='text/plain' value='RESULTS.txt' id='FileName' onchange='uploadFile()' style="display:none;">
        </body>
     </html>

如果我尝试仅在字符串中键入文件路径,则会抱怨它没有输入&#39; blob&#39;。当我这样做时,它需要用户输入文件名,但显然它不能被看到。如何制作该文件&#39;变量一个静态变量,所以它总是在不提示用户的情况下打开该文件?

1 个答案:

答案 0 :(得分:0)

进行更多研究,以及为什么您无法从本地计算机访问文件的安全原因。

所以,代替所有这些,我制作了一些代码,这些代码将不断加载所选文件,以便您可以随时查看它:

<html>
<head>
<title>Import Data</title>
<script>
var input;

    var openFile = function() {

        var reader = new FileReader(event);
        reader.onload = function() {
            var text = reader.result;
            var node = document.getElementById('output');
            node.innerText = text;
            console.log(reader.result.substring(0,200));
        };

        reader.readAsText(input.files[0]);
        setTimeout(openFile,1000);
    };
</script>
</head>
<body>
<input type='file' accept='text/plain' onchange='input = event.target; openFile(event);'><br>
<div id='output'>
</body>
</html>