FileReader 獲取圖片BASE64 程式碼 並預覽
阿新 • • 發佈:2019-02-04
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>
正文到此結束,謝謝觀看 ,如果覺得有用的話,點個贊可好!