通過fileReader實現圖片的實時預覽


FileReader方法:

  1. readerText():讀取文本文件,可以使用TXT打開的文本文件,返回的是字符串形式,默認的編碼格式是utf-8.
  2. readAsBinaryString():讀取任意類型的文件,返回的是二進制數據,后台接受后可以存儲到數據庫
  3. readAsDataURL():讀取文件獲取一段以data開頭的字符串。DataURL是將資源轉換為base64編碼的字符串,文本一般是圖像文本。
  4. abort():中端讀取。

FileReader提供的一些完整的事件:

  1. onbort:讀取文件中斷片時觸發。
  2. onerror:讀取文件錯誤時候時觸發。
  3. onload:文件讀取成功后觸發的事件。
  4. onloadend:讀取完成時觸發,無論成功還是失敗。
  5. onloadstart:開始讀取時候觸發。
  6. onprogress:讀取文件過程中觸發事件。

實例代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--實現圖片的實時預覽  onchange改變元素后觸發方法-->
<from>
    文件: <input type="file" name="myFile" id="myFile" multiple onchange="getFileContext()"><br>
    <img id="img"><br>
    <input type="submit">
</from>
<script>
function getFileContext() {
       var reader=new FileReader();
       //需要的參數是圖片
        var file=document.querySelector("#myFile").files;
       // 沒有返回值,將其結果儲存在result中,無法判斷文件是否讀完
       reader.readAsDataURL(file[0]);
  reader.onload=function () {
  //    展示出來:得到的reader.result為二進制文件base64  data:image/jpeg;base64...
      console.log(reader.result);
      document.querySelector("#img").src=reader.result;
  }


    }
</script>
</body>
</html>

這里是巧妙利用onchange觸發改變事件,當前元素有改變時候觸發。

reader.readAsDataURL(file[0]);是將得到的值轉為dom操作對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM