暗黄色的天际中像燃着一团百年都没有澌灭的野火,它肆无忌惮的吞噬着天间彩云,仿佛地狱使者受到差遣,来破坏天际的和谐。
说起各大网站的用户中心功能,其中就少不了用户头像上传这个小小的功能,如果我们依托框架来编写的的话,相信非常的容易,但如果我们自己来单纯的使用JS来实现头像上传,并在选择本地头像的时候,实现预览我想也是很容易的。
用html的file标签就能实现图片上传前预览,原理就是通过file标签和js的FileReader接口,把选择的图片文件调用readAsDataURL方法,把图片数据转成base64字符串形式显示在页面上。
以下头像上传并实时预览代码来自网络,并做了相应的调试,可正常运行。
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>
以上代码,来自网络,并且本地测试通过。如果你有更好用的代码,可以下面留言哦!
以上就是JS如何实现上传头像并实时预览。生命中,那些我们真正想要的东西,从来得之不易。更多关于JS如何实现上传头像并实时预览请关注haodaima.com其它相关文章!