<!DOCTYPE html> <meta charset="utf-8"> <title>JavaScript Read File</title> <style type="text/css"> * { padding:0; margin:0; } #fileContent { width:500px; height:300px; border:solid 1px blue; } section { display:inline-block; } #file-list,#file-img,#file-xml { display:inline-block; width:500px; height:300px; border:solid 1px red; } </style> <script type="text/javascript"> function readLocalFile () { //alert("start..."); var localFile = document.getElementById("uploadFile").files[0]; //alert(uploadFile); //alert(localFile.name); //alert(localFile.type); //alert(localFile.size); var reader = new FileReader(); //Uncaught SyntaxError:Unexpected identifier var content; reader.onload = function(event) { content = event.target.result; //alert(content); document.getElementById("fileContent").value = content; } reader.onerror = function(event) { alert("File could not be read! Code " + event.target.error.code); } reader.readAsText(localFile,"GB2312"); //content = reader.readAsText(uploaFile,"UTF-8"); // } </script> </head> <body> <section> <input type="file" id="uploadFile"/> <input type="button" value="readFile" onclick="readLocalFile();"/> <br/> <textarea id="fileContent" ></textarea> </section> <section id="file-list" > </section> <section id="file-img"> </section> <section id="file-xml"> </section> <script> //文本显示,拖拽文本文件至该区域内即可 var target = document.getElementById("file-list"); target.addEventListener("dragover", function(event) { event.preventDefault(); }, false); target.addEventListener("drop", function(event) { // cancel default actions ///Uncaught TypeError:Cannot call method 'addEventListnener' of null event.preventDefault(); var i = 0, files = event.dataTransfer.files, len = files.length; var reader = new FileReader(); for (; i < len; i++) { //document.getElementById("file-list").innerText=document.getElementById("file-list").innerText + "fileName:" + files[i].name //+ " Type:" + files[i].type + " Size:" + files[i].size + "bytes" //console.log("Filename: " + files[i].name); //console.log("Type: " + files[i].type); //console.log("Size: " + files[i].size + " bytes"); reader.onload = function (event) { document.getElementById("file-list").innerText = event.target.result; } reader.onerror = function (event) { alert("error"); } reader.readAsText(files[i],"GB2312"); } }, false); //图片显示,拖拽图片至该区域内即可 var targetImg = document.getElementById("file-img"); targetImg.addEventListener("dragover",function (event) { event.preventDefault(); },false); targetImg.addEventListener("drop",function (event) { event.preventDefault(); var file = event.dataTransfer.files[0]; //alert(file.name); var readerImg = new FileReader(); readerImg.onload = function (event) { var imgUrl = event.target.result; var img = document.createElement("img"); img.src = imgUrl; document.getElementById("file-img").appendChild(img); img.style.width="400px"; img.style.height="300px"; } readerImg.onerror = function (event) { alert("errorImg"); } readerImg.readAsDataURL(file); },false); //xml文件读取,拖拽文件至该区域内即可 var targetXml = document.getElementById("file-xml"); targetXml.addListener("dragover",function (event) { event.preventDefault(); },false); targetXml.addListener("drop",function (event) { },false); </script> </body> </html>
1 楼
huangyunbin
2012-09-18
你的FileReader的定义呢,我怎么没看到啊