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

墨初学习笔记1107

说起各大网站的用户中心功能,其中就少不了用户头像上传这个小小的功能,如果我们依托框架来编写的的话,相信非常的容易,但如果我们自己来单纯的使用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>

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

相关文章

JavaScript中for...in 语句详解

JavaScript中for...in 语句详解

在编程中我们会使用到各式各样的循环语句,以使我们可以对一个数组进行读操作或是写入赋值的操作,当然在javascript中这少不了这样的循环语句的存在。今天记录一下关于JavaScript for......

javascript中ClassName属性的详解与实例

javascript中ClassName属性的详解与实例

在javascritp中,我们可以通过style属性可以控制元素的样式,从而实现行为层通过DOM的style属性去干预显示层显示的目标,但是这种方法是不好的,而且为了实现通过DOM脚本设置的样式,你不...

500 501 502 503 504 505 详解

500 501 502 503 504 505 详解

服务器会经常的出现错误,那么在平时的时候出现了服务器错误,我们要如何去解决了,今天小编就简单的说说服务器500错误、501错误、502错误、503错误、504错误、505错误的一些问题所在。服务器50...

PHP+MySQL网站打开速度的几个因素

PHP+MySQL网站打开速度的几个因素

这几天有客户订制了一款主题,当然这款主题已经在zblog的应用中心开始审核,至于结果怎么样,还请大家关注我的博客。审核通过后,我会在博客里告诉大家一声的。当然本站用的自己写的主题《墨初VIP主题》还在...

PHP错误日志 display_errors与log_errors的区别

错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项display_errors 错误回显...

PHP读取大文件的多种方法介绍

读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大文件问题解决办...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。