在一个网站中我使用HTML5而不是.php / forms /和客户端AJAX来检索文件 来自我的笔记本电脑的硬盘。页面在加载时有一个textarea,我在其中显示文件;但在这里我还应该注意到我有其他功能,它允许我将textarea的内容保存为新文件。那,我通过AJAX做。回到追逐:"浏览"打开Dialogue,我选择一个文件,HTML5 FileRead获取文件,一切都很好。
我可以按照自己的意愿多次执行该操作,没问题。但是,如果我然后保存一个新文件,当我接下来使用FileReader时,它会失败。我现在已经使用了大约14个小时,试图找出代码行为的原因。
如果没有代表墙,任何人都会遇到类似的问题?啊,最令人讨厌的是,Dragonfly检查员在event.target.result中显示textarea textContent 作为正确的数据,在打开之后的第一个操作中效果很好页。
编辑::
与大多数博客,问题和答案示例甚至一些规范文档不同, .textContent在我正在处理的脚本的上下文中不起作用,但是有一个改变 具体是什么数据写入AS,所有间歇性,再次关闭 FileReader行为已得到解决,并且大量测试显示其执行率为100%。
答案 0 :(得分:0)
为了允许在执行文件保存之外使用FileReader,只需将 textContent 更改为 innerText :
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // note: DONE == 2
console.log(">>>> 12 <<<< text is : "+event.target.result);
// the textarea being edited // saved from for new files...
// ... and used to display files read by FileReader
document.getElementById("TextAREAx1xMAIN").textContent = event.target.result;
}
};
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) {
console.log(">>>> 12 <<<< text is : "+event.target.result);
// the textarea being edited // saved from for new files...
// ... and used to display files read by FileReader
document.getElementById("TextAREAx1xMAIN").innerText = event.target.result;
}
};