用Java脚本不断读取更新的XML文件[重复]

问题描述 投票:1回答:1
我想通过设置一个间隔来不断观察变化中的XML文件的内容,该间隔调用reader.readAsText()函数。我可以访问数据,直到第一次更新XML文件。

从那时起,阅读器在尝试读取文件时会引发一个名为“ NotReadableError”的DOMException。然后,我不得不通过“打开文件”对话框重新打开文件,但我不想这样做。

有什么建议吗?这甚至可能吗?

简化代码如下:

window.onload = function() { setInterval(checkFile, 200); } function checkFile() { var input = document.getElementById("file"); var file = input.files[0]; var reader = new FileReader(); reader.onload = function(event) { //stuff }; reader.readAsText(file); } }

最诚挚的问候。    
javascript xml filereader domexception
1个回答
0
投票
NotReadableError有两个原因:

文件或Blob的快照状态与基础存储的状态不匹配,这是SnapshotState失败的原因。

[这似乎意味着如果NotReadableError的状态在浏览器中被选择后发生了更改,则将无法再读取它。

如果发生以下错误,也会发生:

文件或Blob无法读取,通常是由于在建立快照状态后发生权限问题(例如,与另一个应用程序同时对基础存储进行并发锁定),这就是FileLock失败的原因。

也许您也遇到这种情况,因为您正在尝试在文件更新时读取文件,并且您的操作系统可能正在使用文件锁。

尚不清楚您遇到的是哪种情况,规范中似乎没有任何内容可以确定导致此错误的原因。我怀疑快照问题是您遇到的问题,并且File的浏览器API不允许您执行您希望做的事情。对于您要解决的根本问题,也许还有另一种解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.