两种方式javascript实现图片预览

Posted baimeishaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两种方式javascript实现图片预览相关的知识,希望对你有一定的参考价值。

方式一:更适合H5页面,兼容ie10+,图片base64显示,主要功能点是FileReader和readAsDataURL

简洁代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>files-h5</title>
</head>
<body>
  <input type="file" id="file" onchange="showPreview(this, ‘portrait‘)" />
  <img src="" id="portrait" style="width: 200px; height: 200px; display: block;" />
  <script>
  function showPreview(source, imgId) {
    var file = source.files[0];
    if(window.FileReader) {
      var fr = new FileReader();
      fr.onloadend = function(e) {
        document.getElementById(imgId).src = e.target.result;
      }
      fr.readAsDataURL(file);
    }
  }
  </script>
</body>
</html>

方式二:更适合PC端,兼容ie7+,主要功能点是window.URL.createObjectURL

简洁代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>files-pc</title>
</head>
<body>
  <input type="file" id="file" onchange="showPreview(this.id,‘portrait‘)" />
  <img src="" id="portrait" style="width: 200px; height: 200px; display: block;" />
  <script type="text/javascript">
  /* 图片预览 */
  function showPreview(fileId, imgId) {
    var file = document.getElementById(fileId);
    var ua = navigator.userAgent.toLowerCase();
    var url = ‘‘;
    if(/msie/.test(ua)) {
      url = file.value;
    } else {
      url = window.URL.createObjectURL(file.files[0]);
    }
    document.getElementById(imgId).src = url;
  }
  </script>
</body>
</html>

以上是关于两种方式javascript实现图片预览的主要内容,如果未能解决你的问题,请参考以下文章

javascript实现图片实时预览的两种方式

简单的实现图片预览, 通过原生ajax以及 jQuery两种方法实现图片预览,有更好的办法可以留言喔................

图片上传前预览,两种方式可实现

js 实现异步上传图片+预览

JavaScript实现本地图片上传预览功能(兼容IEchromeFF)

JavaScript零基础入门 11:用JavaScript实现图片上传并预览