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);
}
}
最诚挚的问候。
NotReadableError
有两个原因:
文件或Blob的快照状态与基础存储的状态不匹配,这是SnapshotState失败的原因。
[这似乎意味着如果NotReadableError
的状态在浏览器中被选择后发生了更改,则将无法再读取它。
如果发生以下错误,也会发生:
文件或Blob无法读取,通常是由于在建立快照状态后发生权限问题(例如,与另一个应用程序同时对基础存储进行并发锁定),这就是FileLock失败的原因。
也许您也遇到这种情况,因为您正在尝试在文件更新时读取文件,并且您的操作系统可能正在使用文件锁。
尚不清楚您遇到的是哪种情况,规范中似乎没有任何内容可以确定导致此错误的原因。我怀疑快照问题是您遇到的问题,并且File
的浏览器API不允许您执行您希望做的事情。对于您要解决的根本问题,也许还有另一种解决方案。