H5 讀取檔案流
阿新 • • 發佈:2019-02-03
程式碼:
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <head> <meta charset="utf-8"> <title>檔案讀取</title> <style> div { margin-top: 30px; border: solid 1px black; padding: 5px; } </style> <script> function processFiles(files) { var file = files[0]; var message = document.getElementById("message"); message.innerHTML = "檔名:" + file.name + "<br>"; message.innerHTML += "檔案大小:" + file.size + "位元組<br>"; message.innerHTML += "檔案型別:" + file.type + "<br>"; var type = getFileName(file.name); console.log(type); var reader = new FileReader(); /* 第一種:讀取文字檔案,顯示 */ if(type == "txt" || type == "md" || type == "pdf" || type == "ppt" || type == "html" || type == "doc" || type == "docx" || type == "wps"){ reader.onload = function (e) { // 這個事件發生,意為著資料準備好了 // 把它複製到頁面的<div>元素中 var output = document.getElementById("fileOutput"); output.textContent = e.target.result; }; reader.readAsText(file,"utf-8"); //處理文字內容 } /* 第二種:讀取影象檔案,顯示 */ if (type == "png" || type == "jpg" || type == "bmp" || type == "gif" || type == "jpeg" || type == "tiff" ) { reader.onload = function(e) { var output = document.getElementById("fileOutput"); output.innerHTML = '<img style="padding: 0 10px;" width="400px" src="'+ this.result +'" alt="'+ file.name +'" />'; }; //讀取檔案內容 reader.readAsDataURL(file); } } function getFileName(fileName){//通過第一種方式獲取檔名 var pos=fileName.lastIndexOf(".");//查詢最後一個\的位置 return fileName.substring(pos+1); //擷取最後一個\位置到字元長度,也就是擷取檔名 } </script> </head> <body> <input id="fileInput" type="file" size="50" onchange="processFiles(this.files)"> <div id="message"></div> <div id="fileOutput"></div> </body> </html>
截圖: