位置: IT常识 - 正文

vue+element ui完成头像上传功能(文件转base64)以及自定义布局。(vue element ui)

编辑:rootadmin
vue+element ui完成头像上传功能(文件转base64)以及自定义布局。

推荐整理分享vue+element ui完成头像上传功能(文件转base64)以及自定义布局。(vue element ui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:elementui基于vue,vue element ui教程,vue3 element ui,vue中elementui怎么用,vue3 element ui,vue element ui,vue3 element ui,vue element ui,内容如对您有帮助,希望把文章链接给更多的朋友!

1、自定义布局

      查阅element ui的头像上传功能,发现是点击头像位置才可以上传,那我们可不可以点击头像外部的按钮来上传头像呢?

element ui效果图:                                                   目标效果:

vue+element ui完成头像上传功能(文件转base64)以及自定义布局。(vue element ui)

                         

 在实现之前要明白element ui里面代码的含义:

//el-upload是用来控制图片上传,里面有相关属性。<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"> //img的是存放上传图片位置的地方 <img v-if="imageUrl" :src="imageUrl" class="avatar"> <i v-else class="el-icon-plus avatar-uploader-icon"></i></el-upload>

 当我们明白每个标签的含义之后,我们就可以通过调整img标签的位置来达到自己的目标效果。

下图为目标效果图的代码:html+css布局

<div class="touxiang">//把存放头像单独拿出来,放到一个div中,通过css布局来调整位置 <div class="pic"> <img v-if="imageUrl" :src="imageUrl?''+imageUrl:'@/assets/avatar.gif'" class="avatar" /> <i v-else class="el-icon-plus avatar-uploader-icon"></i> </div> <el-upload class="avatar-uploader" list-type="picture" ref="upload" accept=".jpg, .png" :limit="1" :auto-upload="false" :show-file-list="false" :file-list="fileList" :on-change="getFile"> //点击上传的按钮一定要在el-upload内部才可以实现 <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过2MB</div> </el-upload></div>.touxiang { margin: 30px auto 30px 150px; display: flex; .avatar-uploader { ::v-deep .el-upload { margin-top: 5px; height: 45px; display: flex; flex-direction: column; align-content: space-between; } ::v-deep .el-button { width: 90px; height: 35px; font-size: 15px; } } .pic { margin-right: 20px; border-radius: 50%; border: 1px dashed gray; .avatar-uploader-icon { font-size: 28px; color: #8c939d; width: 80px; height: 80px; line-height: 80px; text-align: center; } .avatar { border-radius: 50%; width: 80px; height: 80px; display: block; } }}

2、文件转base64(html代码见上图)

2.1先定义好需要用到的变量

data() { return { // 上传头像地址 imageUrl: '', //接收上传的文件 fileList:[], }; },

2.2通过on-change来监控传入文件的状态,当上传的文件大小(beforeAvatarUpload函数)以及格式(html代码里面的accept属性)达到了我们的目标要求后就可以将文件进行转换,之后在传给后端。

// 头像上传 getFile(file, fileList) { if(this.beforeAvatarUpload(file)){ this.getBase64(file.raw).then(res => { this.imageUrl = res; //ruleForm是我接收后端传过来的数据,此处可以忽略 this.ruleForm.imagePath=res }) } },//这里是文件转base64 getBase64(file) { return new Promise(function (resolve, reject) { const reader = new FileReader() let imgResult = '' reader.readAsDataURL(file) reader.onload = function () { imgResult = reader.result } reader.onerror = function (error) { reject(error) } reader.onloadend = function () { resolve(imgResult) } }) }, beforeAvatarUpload(file) { const isLt2M = file.size / 1024 / 1024 < 2; if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 2MB!'); } return isLt2M; },

到这里文章就结束啦,希望可以对您有所帮助!

本文链接地址:https://www.jiuchutong.com/zhishi/296153.html 转载请保留说明!

上一篇:怎么让 echarts 图表动起来?定时器解决它 —— 大屏展示案例(动态仪表盘、动态柱状图)(echarts怎么样)

下一篇:vue3与vue2的对比(vue3与vue2的区别)

  • 小米桌面时间移除了怎么恢复(小米桌面时间移除换主题)

    小米桌面时间移除了怎么恢复(小米桌面时间移除换主题)

  • 华为荣耀怎么截屏的4种方法(华为荣耀怎么截屏长图)

    华为荣耀怎么截屏的4种方法(华为荣耀怎么截屏长图)

  • airpods一直充电忘了拔(airpods一直充电会自动断电吗)

    airpods一直充电忘了拔(airpods一直充电会自动断电吗)

  • 引导驱动器和安装驱动器是指(引导驱动器和安装磁盘位置)

    引导驱动器和安装驱动器是指(引导驱动器和安装磁盘位置)

  • 手机文件在电脑看不见(手机文件在电脑上不显示)

    手机文件在电脑看不见(手机文件在电脑上不显示)

  • 撤回是ctrl加什么

    撤回是ctrl加什么

  • 适应边框打印是什么意思(适应边框打印是不是无边框是什么意思)

    适应边框打印是什么意思(适应边框打印是不是无边框是什么意思)

  • 爱奇艺几个设备同时在线(爱奇艺几个设备在哪查)

    爱奇艺几个设备同时在线(爱奇艺几个设备在哪查)

  • 先删除后拉黑还能加吗(先删除后拉黑还能搜到吗)

    先删除后拉黑还能加吗(先删除后拉黑还能搜到吗)

  • 小红书笔记的文字怎么复制(小红书笔记的文字怎么写)

    小红书笔记的文字怎么复制(小红书笔记的文字怎么写)

  • vivo手机充电越充越少怎么办(vivo手机充电越充越少怎么解决视频)

    vivo手机充电越充越少怎么办(vivo手机充电越充越少怎么解决视频)

  • 抖音有没有扫一扫功能(抖音有没有扫一扫登录)

    抖音有没有扫一扫功能(抖音有没有扫一扫登录)

  • qq怎么续火花(qq怎么续火苗)

    qq怎么续火花(qq怎么续火苗)

  • 固态硬盘什么时候上市的(固态硬盘什么时候开始普及的)

    固态硬盘什么时候上市的(固态硬盘什么时候开始普及的)

  • 显示非朋友是删了吗(显示非朋友是删了吗还能发出信息)

    显示非朋友是删了吗(显示非朋友是删了吗还能发出信息)

  • hd华为什么功能(华为手机hd开启了怎么没图标)

    hd华为什么功能(华为手机hd开启了怎么没图标)

  • 怎么把快手发布日期隐藏(怎么把快手发布的作品删掉)

    怎么把快手发布日期隐藏(怎么把快手发布的作品删掉)

  • 滴滴快车怎么往返收费(滴滴快车怎么转出租车)

    滴滴快车怎么往返收费(滴滴快车怎么转出租车)

  • qq照片按5秒销毁怎么发(qq照片按5秒销毁会怎么样)

    qq照片按5秒销毁怎么发(qq照片按5秒销毁会怎么样)

  • 数据报交换提供了什么传输服务(数据报交换需要建立连接吗)

    数据报交换提供了什么传输服务(数据报交换需要建立连接吗)

  • 华为手机如何查激活时间(华为手机如何查找对方手机位置)

    华为手机如何查激活时间(华为手机如何查找对方手机位置)

  • 乐猫智服有支付牌照吗(乐猫智服怎么帮你代还)

    乐猫智服有支付牌照吗(乐猫智服怎么帮你代还)

  • 备用金征信上传规则(备用金征信上传要多久)

    备用金征信上传规则(备用金征信上传要多久)

  • 苹果手机支付宝相机权限怎么开启(苹果手机支付宝怎么加密码锁)

    苹果手机支付宝相机权限怎么开启(苹果手机支付宝怎么加密码锁)

  • iphone7怎么打开多任务管理界面(iphone7怎么打开高清通话)

    iphone7怎么打开多任务管理界面(iphone7怎么打开高清通话)

  • 网线水晶头有几种(网线水晶头有几种接法)

    网线水晶头有几种(网线水晶头有几种接法)

  • 用于员工福利的进项税转出分录
  • 网上报税怎么报啊
  • 其他债权投资的汇兑差额计入什么科目
  • 银行开出的发票可以进行税抵扣吗
  • 冲红的发票税款计提分录要冲红吗
  • 出口关税的计算基数
  • 工业总产值收入法
  • 通行费 发票
  • 减半征收附加税退回的分录
  • 一般纳税人软件销售税率
  • 土地出让金计算方法
  • 上市公司现金流充足说明什么
  • 会计核算过程中的错误分析
  • 租赁算投资吗
  • 商业承兑到期对方不付款如何起诉
  • 印花税是发票吗
  • 在建工程领用外购材料会计分录
  • 未开票收入可以填写负数吗
  • 所得税计税方法
  • 房地产开发公司注册资金要求
  • 库存商品结转成本摘要怎么写
  • 汽车保险费里的钱能退吗
  • 新公司值得入职吗
  • 现金流量表季报还是年报
  • 资产损失税前扣除
  • 附加税会计分录2022
  • 生产企业委外加工比例出口免抵退税
  • 现在学修电脑怎么样
  • 盈余公积转增资本会计科目
  • php umask
  • 公积金怎么做会计科目
  • 税务行政罚款会罚多少
  • vite config
  • 委托证券公司发行股票的手续费计入什么科目
  • 房改转移什么意思
  • 企业新产品销售收入数据
  • 发票查真伪是什么意思
  • 前端实战培训
  • 【深度学习】AI一键换天
  • 可供出售债权投资
  • 管理费用增加记哪方
  • 承兑汇票提前承兑手续费
  • 来料加工分录
  • 贸易企业出口退税计算方法
  • 投资收益属于资产嘛
  • sql 获取指定字符位置
  • 什么情况需要个人所得税
  • 母公司处置子公司合并报表
  • 从内地到香港坐飞机到国内
  • 税务局退回来的附加税金怎么做账
  • 日常生活中常见的气质类型包括
  • 交通运输业营改增
  • 费用报销单的摘要和报销项目怎么写
  • 净现值率和现值指数与净现值什么时候它们评价结果一致
  • 增值税普通发票查询
  • 跨国企业在国外设立工厂的战略地位
  • b-树和b+树都能有效地支持随机检索
  • Mysql5.7.14 linux版密码忘记完美解决办法
  • WinXP系统能上qq但打不开网页原因分析及解决方法
  • 修改注册表加快开机速度
  • win10rs2是哪个版本
  • win7系统连不了蓝牙
  • win8.1出现了一些问题
  • linux如何快速入门
  • linux系统怎么启动软件
  • win7系统命令大全
  • android打包原理
  • shell中break和continue
  • javascript原生写法
  • 谷歌编程之夏2021
  • linux如何一次性删除多个文件
  • ar现实增强设备
  • 搭建nodejs项目
  • 发布python程序
  • jquery中用onclick绑定点击事件
  • 怎么查询个人所得税申报成功
  • 纳税人识别号不能含有IOZSV
  • 税务机关垂直领导
  • 卡车生产企业
  • 深圳为何
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设