1. 程式人生 > >FileReader 獲取圖片BASE64 程式碼 並預覽

FileReader 獲取圖片BASE64 程式碼 並預覽

FileReader 獲取圖片的base64 程式碼 並預覽

FileReader ,老實說我也不怎麼熟悉。在這裡只是記錄使用方法。

方法名 引數 描述
abort none 中斷讀取
readAsBinaryString file(blob) 將檔案讀取為二進位制碼
readAsDataURL file(blob) 將檔案讀取為 DataURL
readAsText file, (blob) 將檔案讀取為文字

FileReader 包含了一套完整的事件模型,用於捕獲讀取檔案時的狀態

事件 描述
onabort 中斷時觸發
onerror 出錯時觸發
onload 檔案讀取成功完成時觸發
onloadend 讀取完成觸發,無論成功或失敗
onloadstart 讀取開始時觸發
onprogress 讀取中

檔案一旦開始讀取,無論成功或失敗,例項的 result 屬性都會被填充。如果讀取失敗,則 result 的值為 null ,否則即是讀取的結果,絕大多數的程式都會在成功讀取檔案的時候,抓取這個值。

demo

<!DOCTYPE html>
<html>
<head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> </head> <body> <input type="file" class="file" name="imgfile" id="imgfile" placeholder="請選擇檔案"> <img
src="" id="showImg" >
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> <script> var input = document.getElementById("imgfile"); //檢測瀏覽器是否支援FileReader if (typeof (FileReader) === 'undefined') { result.innerHTML = "抱歉,你的瀏覽器不支援 FileReader,請使用現代瀏覽器操作!"; input.setAttribute('disabled', 'disabled'); } else { //開啟監聽 input.addEventListener('change', readFile, false); } function readFile() { var file = this.files[0]; //限定上傳檔案的型別,判斷是否是圖片型別 if (!/image\/\w+/.test(file.type)) { alert("只能選擇圖片"); return false; } var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (e) { base64Code=this.result; //把得到的base64賦值到img標籤顯示 $("#showImg").attr("src",base64Code); } } </script> </body> </html>

正文到此結束,謝謝觀看 ,如果覺得有用的話,點個贊可好!