——————– 
如上图所示:需要完成的功能是点击更改头像,获取本地文件库,选择图片后将原始图片替换。这里我就直接用html文件引入vue来简单实现在这功能,代码如下: 
HTML:

<div id="app"><div class="item_bock head_p"><div class="head_img"><img :src="userInfo.avatar"/><--图片地址动态绑定--></div><div class="setting_right" @click.stop="uploadHeadImg"><div class="caption">更改头像</div></div><input type="file" accept="image/*" @change="handleFile" class="hiddenInput"/></div></div>

注意: 
1.accept 属性用于限制图像的格式 如:(accept=”image/gif, image/jpeg”),accept=”image/*”表示不限制格式。 
2.真正打开本地文件的是input,但这里是将其隐藏的。

JS:

var app = new Vue({el: '#app',data: {userInfo: {avatar: 'https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=62d46c39067b020818c437b303b099b6/d4628535e5dde7119c3d076aabefce1b9c1661ba.jpg'}// 初始图片},methods: {// 打开图片上传uploadHeadImg: function () {this.$el.querySelector('.hiddenInput').click()},// 将头像显示handleFile: function (e) {let $target = e.target || e.srcElementlet file = $target.files[0]var reader = new FileReader()reader.onload = (data) => {let res = data.target || data.srcElementthis.userInfo.avatar = res.result}reader.readAsDataURL(file)},}
})

注意: 
1.this.$el.querySelector('.hiddenInput') 是获取文档中 class=”hiddenInput” 的元素。 
2.在打开文件夹选中图片确认后,执行handleFile函数 
3.let $target = e.target || e.srcElement 表示调用他的各种属性, 
两个的区别是:ie下支持e.srcElement,ff支持e.target。 
4.由于手机上可以选择多张图片,所以let file = $target.files[0],表示取第一张图。 
5.var reader = new FileReader() FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。 
6.onload 事件会在页面或图像加载完成后立即发生。 
7.FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL。

css:

.item_bock {display: flex;align-items: center;justify-content: space-between;height:94px;width: 300px;padding:0px 24px 0px 38px;border-bottom: 1px solid #f7f7f7;background: #fff;
}
.head_p {height:132px;
}
.head_img{height: 90px;
}
.head_img img{width:90px;height:90px;border-radius:50px
}
.setting_right{display: flex;height: 37px;justify-content: flex-end;align-items: center;
}
.hiddenInput{display: none;
}
.caption {color: #8F8F8F;font-size: 26px;height: 37px;
}

这里只是将图片显示出来,并没有保存起来,如果需要上传或者保存,需要后台接口配合

来源https://blog.csdn.net/weixin_41941325/article/details/80764680

vue 更改头像功能实现相关推荐

  1. node简单实现一个更改头像功能

    前言 一直想写这篇文章,无奈由于要考试的原因,一直在复习,拖延到现在才写?,之前用 node 的 express 框架写了个小项目,里面有个上传图片的功能,这里记录一下如何实现(我使用的是 ejs)? ...

  2. vue列表左右箭头滑动_vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)...

    1.效果图如下 2.vue代码如下 indicator-position="none" :autoplay="false"> > {{items.b ...

  3. VUE图片裁剪功能vue-img-cutter

    VUE图片裁剪功能vue-img-cutter 前言: 演示地址 兼容IE9+,MSEdge,Chrome,Firefox 两种展现形式,行内或弹窗 可旋转.缩放图片 任意比例.大小裁剪 固定比例.大 ...

  4. Vue 彩色头像|一个有趣的头像生成器 附源码

    前言 这是一款矢量风格的头像生成器,您可以搭配不同的素材组件,生成属于您自己的个性化头像. 介绍 您可能感兴趣的功能: 可视化组件配置栏 随机生成头像 重做/撤消 国际化 批量生成多个头像 在线体验 ...

  5. flask上传头像功能

    上传头像功能只需要以下N步: 首先我们要从HTML中获取头像文件 获取后,传入视图函数 # user.py # 修改用户头像功能 @user_blu.route("/user/avatar& ...

  6. 教师管理平台-----servlet+html修改个人资料及更改头像

    第二个功能修改个人资料以及更改头像 目录结构和其他代码接上https://blog.csdn.net/ignite_/article/details/90453076 前台html代码: 个人中心加上 ...

  7. php 修改头像案例,在laravel5.2中实现点击用户头像更改头像的方法

    视图层 !!!自己下载jquery文件和ajaxfileUpload的插件 //下面用于图片上传预览功能 function setImagePreview(avalue) { var docObj=d ...

  8. 升级IOS8游戏上传自定义头像功能失效的问题

    为了支持arm64,之前已经折腾了很久,昨晚打包准备提交苹果审核时,测试那边的同事反馈说游戏上传自定义头像功能不可用了. 游戏上传自定义功能的简介:卡牌游戏最初是<比武招亲>中有一个充VI ...

  9. php拍视频上传,php视频拍照上传头像功能实现代码分享

    现在手机拍照很火,那么如何使用手机拍照并上传头像呢?原因很简单,就是数据传递,首先手机传递照片信息,既不是post传递也不是get函数传递,这个另外一种数据 如果要在php中实现视频拍照我们需要借助于 ...

最新文章

  1. Linux 入门学习-LINUX基本认识及常用命令
  2. 树链剖分入门+HYSBZ - 1036树的统计Count
  3. 数据结构之内部排序二
  4. bcd转ascii码 流程图_4-20mA转RS485,MODBUS数据采集模块
  5. 学习Haskell的一些资料
  6. python人脸识别opencv_手把手教你如何用 OpenCV + Python 实现人脸识别
  7. 一个人如果不学习,30岁就死了,活着的只是重复和应付
  8. candence的图纸大小设置_Revit出图通用步骤5_图纸布局
  9. 服装进销存软件排名前十名,最新门店进销存测评现已出排行榜
  10. Win10如何设置护眼模式?
  11. Realm_King 之 XPDL(XML Process Definition Language)
  12. 高铁盈利地图:东部赚翻 中西部普遍巨亏
  13. linux4k分辨率,ubuntu18.04设置支持4k分辨率
  14. Leetcode 1037.有效的回旋镖
  15. 有史以来准备最充分的主网 - IOST Olympus v1.0正式上线
  16. 关于开源软件名字的由来
  17. pytorch中张量的阶数理解
  18. word 文档在左侧显示文档的目录结构的方法
  19. 美国招聘巨头完成收购中华英才网
  20. Linux shell脚本语言必看书籍推荐

热门文章

  1. 帅小伙的MFC VC++ 图片的旋转
  2. C++结构体初始化方法
  3. oracle常见面试题
  4. 学习体验manifold(一)刷机
  5. linux进程的内存空间,Linux进程内存统计
  6. 我的ModBus主机-协议篇
  7. 看女程序员是如何处理男友出轨,网友回复更精彩
  8. python+matplotlib绘制具有多个子图的图表
  9. DataBrick的简单使用(课程自用,侵删)
  10. linux cgroup