无法通过FileReader读取文件

时间:2013-11-28 14:25:42

标签: javascript filereader

以下是我的代码片段,它从客户机上读取文件并且工作正常。

document.getElementById('files')。onchange = function(e){     //从input元素中检索文件列表     //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编码格式复制这个文件对象,然后得到这个文件对象,如果它没有读取文件。

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

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");
                       }   

现在它不起作用我甚至没有收到失败的文件。所以,我做错了,我刚刚编码了文件对象,然后解码并读取该对象?

1 个答案:

答案 0 :(得分:0)

因为obj.RGN不是文件对象。 Reader.readastext仅适用于文件对象(异步)。 您应该将文件等同于e.target.files然后它将正常工作。

reader.onload = function (e) {

}

Files=e.target.files;
reader.readAsText(Files);