无法通过FileReader读取文件

Failed to read file through FileReader

本文关键字:读取 文件 FileReader      更新时间:2023-11-22

下面是我的代码片段,它从客户端机器读取文件,并且运行良好。

document.getElementById('files').ochange=函数(e){//从输入元素检索文件列表//uploadFiles(e.target.files);

Files =e.target.files;
   var reader = new FileReader();
            reader.onload = function (e)
            {
                alert("File loaded successfully");
 }reader.readAsText(e.target.files[0]); 

我正在成功获得文件加载警报。但是当我以json编码的格式复制这个文件对象,然后通过json解码获得这个文件对象时,它就不是在读取文件。

我用于编码和解码,然后读取文件的代码如下:

indexArray="{'"LayerName":'"'+e.target.files[0]+'"}'
 var obj=JSON.parse(indexArray);
                        Files=obj.RGN;
                       if(obj.RGN)
                       {
                        var reader = new FileReader();
                        reader.onload = function (e)
                        {
                            alert("FIle loaded successfully");
                            var output=e.target.result;
                            console.log("output-----------------------------: "+output);
                        }
                        reader.readAsText(File);   
                       }
                       else
                       {
                           alert("Failed to load file");
                       }   

现在它不工作了,我甚至没有得到失败加载文件。所以我哪里做错了,我只是编码了文件对象,然后解码和读取该对象?

因为obj.RGN不是文件对象。Reader.readastext仅适用于文件对象(异步)。您应该将Files等于e.target.Files,这样它才能正常工作。

reader.onload = function (e) {
}
Files=e.target.files;
reader.readAsText(Files);