你好,欢迎访问我的博客!登录 评论排行榜 领券购物 免责声明 投稿本站 本站主题
当前位置:首页 - 笔记 - Web前端 - 正文 代码,改变世界!

JS实现上传头像并实时预览

2018-01-04Web前端墨初2021°c
A+ A-

说起各大网站的用户中心功能,其中就少不了用户头像上传这个小小的功能,如果我们依托框架来编写的的话,相信非常的容易,但如果我们自己来单纯的使用JS来实现头像上传,并在选择本地头像的时候,实现预览我想也是很容易的。

用html的file标签就能实现图片上传前预览,原理就是通过file标签和js的FileReader接口,把选择的图片文件调用readAsDataURL方法,把图片数据转成base64字符串形式显示在页面上。

HTML实现头像上传并预览

以下头像上传并实时预览代码来自网络,并做了相应的调试,可正常运行。

HTML代码

<input type="file" name="pclogo" id="xdaTanFileImg" onchange="xmTanUploadImg(this)" accept="image/*">
<img src="默认头像地址" class="img-circle img-thumbnail img-responsive" id="avarimgs">

JS代码

<script type="text/javascript">            
if (typeof FileReader == 'undefined') {
    document.getElementById("xmTanDiv").InnerHTML = "<h1>当前浏览器不支持FileReader接口</h1>";
   document.getElementById("xdaTanFileImg").setAttribute("disabled", "disabled");
        }
//选择图片,马上预览
 function xmTanUploadImg(obj) {
  var file = obj.files[0];               
  console.log(obj);console.log(file);
  console.log("file.size = " + file.size);
  var reader = new FileReader();
  reader.onloadstart = function (e) {
     console.log("开始读取....");
  }
    reader.onprogress = function (e) {
         console.log("正在读取中....");
  }
  reader.onabort = function (e) {
     console.log("中断读取....");
  }
  reader.onerror = function (e) {
      console.log("读取异常....");
  }
  reader.onload = function (e) {
      console.log("成功读取....");
  var img = document.getElementById("avarimgs");
      img.src = e.target.result;
   //或者 img.src = this.result;  //e.target == this
  }
      reader.readAsDataURL(file)
  }
</script>

以上代码,来自网络,并且本地测试通过。如果你有更好用的代码,可以下面留言哦!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
JS实现上传头像并实时预览

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录