gpt4 book ai didi

Javascript FileReader onload 未触发

转载 作者:技术小花猫 更新时间:2023-10-29 12:14:45 25 4
gpt4 key购买 nike

我有一段时间没有使用 JavaScript,我似乎无法读取文本文件并显示内容。

我试过 onloadonloadend。如果我只是输入 reader.onload = alert('Hello'); 警报会触发,但我无法使用该函数进行任何操作。

不确定从这里去哪里。我试过在 reader.onload = function(evt)... 之后定义函数,但这不起作用。

我也在 Safari 6.0.5 和 Chrome 中尝试过。

<!DOCTYPE HTML>                                                                    
<html>
<head>
<title>Pi to Colors</title>
</head>
<body>
<script>
function readFile() {
var reader = new FileReader();
reader.onload = readSuccess;
function readSuccess(evt) {
var field = document.getElementById('main');
field.innerHTML = evt.target.result;
};
reader.readAsText("/pi.txt");
}
</script>
<div id="main">

</div>
</body>
</html>

最佳答案

出于安全原因,您不能像那样抓取本地文件。

另一个潜在的问题是 readAsText(和所有读取函数)需要文件的内容而不是它的文件路径/名称。您可以从 input type="file"元素的文件集合中获取它。以下是您的代码的工作方式:

function readFile(file) {                                                       
var reader = new FileReader();
reader.onload = readSuccess;
function readSuccess(evt) {
var field = document.getElementById('main');
field.innerHTML = evt.target.result;
};
reader.readAsText(file);
}

document.getElementById('selectedFile').onchange = function(e) {
readFile(e.srcElement.files[0]);
};

这是 jsfiddle: http://jsfiddle.net/fstreamz/ngXBV/1/

注意:此代码不适用于 safari 浏览器

关于Javascript FileReader onload 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18542907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com