位置: 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的区别)

  • 华为荣耀20青春版多大内存(华为荣耀20青春版换屏幕多少钱)

    华为荣耀20青春版多大内存(华为荣耀20青春版换屏幕多少钱)

  • 一个b站号可以登几个手机(一个b站号可以在几个设备)

    一个b站号可以登几个手机(一个b站号可以在几个设备)

  • 智慧树可以电脑手机同时看吗(智慧树可以电脑和手机一起看吗)

    智慧树可以电脑手机同时看吗(智慧树可以电脑和手机一起看吗)

  • 小米6x屏幕刷新率(小米6刷屏多少hz设置在哪)

    小米6x屏幕刷新率(小米6刷屏多少hz设置在哪)

  • med-al00是什么手机(med-al00是华为啥型号)

    med-al00是什么手机(med-al00是华为啥型号)

  • 荣耀v30pro是双扬声器吗(华为荣耀v30pro是双频gps吗)

    荣耀v30pro是双扬声器吗(华为荣耀v30pro是双频gps吗)

  • 苹果x续航一般几个小时(苹果x的续航)

    苹果x续航一般几个小时(苹果x的续航)

  • 华为荣耀10充电器是多少w的(华为荣耀10充电器多少瓦)

    华为荣耀10充电器是多少w的(华为荣耀10充电器多少瓦)

  • 电子表格怎么输入身份证号码(电子表格怎么输入符号)

    电子表格怎么输入身份证号码(电子表格怎么输入符号)

  • qq公众号在哪里关注(qq公众号在哪里添加2022)

    qq公众号在哪里关注(qq公众号在哪里添加2022)

  • vivo手机通话录音在哪(vivo手机通话录音在哪里找出来)

    vivo手机通话录音在哪(vivo手机通话录音在哪里找出来)

  • oppoa11x带不带闪充(oppoa11x支持闪充吗)

    oppoa11x带不带闪充(oppoa11x支持闪充吗)

  • 手机上面出现hd是什么意思(手机上面出现hd2是怎么关闭)

    手机上面出现hd是什么意思(手机上面出现hd2是怎么关闭)

  • 微信充值为什么扣手续(微信充值为什么显示交易异常)

    微信充值为什么扣手续(微信充值为什么显示交易异常)

  • iPhone11pro怎么取消应用上的红点(苹果11pro max怎么把卡取出来)

    iPhone11pro怎么取消应用上的红点(苹果11pro max怎么把卡取出来)

  • 拼多多自动扣费怎么解除(拼多多自动扣费不知道是什么商品扣费怎么查询)

    拼多多自动扣费怎么解除(拼多多自动扣费不知道是什么商品扣费怎么查询)

  • 486微机的字长是(微机的字长取决于谁的宽度)

    486微机的字长是(微机的字长取决于谁的宽度)

  • 三星s6电话按键怎么变大(三星s6电话按键失灵)

    三星s6电话按键怎么变大(三星s6电话按键失灵)

  • 奇异果怎么看电视直播(奇异果怎么看电视剧全集)

    奇异果怎么看电视直播(奇异果怎么看电视剧全集)

  • 条码打印机设置(条码打印机设置纸张大小为什么不能设置)

    条码打印机设置(条码打印机设置纸张大小为什么不能设置)

  • 红米k20pro有nfc吗(红米k20pro有nfc吗?)

    红米k20pro有nfc吗(红米k20pro有nfc吗?)

  • 华为p30如何删除应用(华为P30如何删除系统应用)

    华为p30如何删除应用(华为P30如何删除系统应用)

  • 亨茨维尔附近绿色山公园中的Cambron Covered Bridge,阿拉巴马州  (© Jens Lambert/Shutterstock)(亨茨维尔机场)

    亨茨维尔附近绿色山公园中的Cambron Covered Bridge,阿拉巴马州 (© Jens Lambert/Shutterstock)(亨茨维尔机场)

  • 广告行业的税负率
  • 个人所得税起征点2023税率表
  • 小规模企业所得税会计分录怎么做
  • 简易计税方法使用范围
  • 财务状况说明表财务报表有什么区别
  • 基础设施道路建设
  • 法人拿走公司利润要交税吗
  • 增值税退税比例怎么算
  • 利息保障倍数计算公式资本化利息
  • 个人应纳税所得额 税率
  • 2021年2月适合公司开业的日子
  • 私营独资企业需要做账吗
  • 刻章后的发票要打印吗
  • 企业多扣个税怎么处理
  • 个人去税务局开劳务票 税点是多少
  • 资产负债表和业务活动表勾稽关系不对怎么查
  • 交通补贴和通讯补贴标准
  • 公司没有残疾人要交残疾人保障金吗
  • 审图费发票需要备注吗
  • 企业员工自行体检流程
  • 公共租赁住房的供应对象不包括
  • 备用金借款单怎么写
  • 发行股票的承销商佣金分录
  • 公益性捐赠包括向脱贫地区捐赠吗
  • php字符串函数有哪些
  • 会计核算方法体系构成
  • 乐吾实验学校网站
  • php的了解
  • 第二季度企业所得税怎么算出来
  • php关闭错误报告
  • Yii CFileCache 获取不到值的原因分析
  • 归还本金和利息的分录
  • 面试宝典下载
  • 分页limit参数
  • sybaris插件包
  • 税务局规定500元以下收据的要求
  • 如何修改php网页内容
  • java基本框架
  • el-form表单
  • 土石方费用入什么科目
  • 土方开挖工艺标准
  • 增值税发票用完后如何领取新的
  • sql server2012使用方法
  • 建筑劳务公司需要什么资质
  • 金税卡就是税控盘吗
  • 固定制造费用差异的意义
  • 上一年度主营业务成本多计提了
  • 商品损耗率一般是多少
  • 房地产企业沙盘模拟
  • 偿债基金专户
  • 接受捐赠的固定资产计入什么科目
  • 广告制作需要交文化事业建设税
  • 工业企业增值税负率一般控制在多少
  • mysql 判断
  • bios如何关闭网卡
  • win7系统资源管理器频繁未响应
  • 应用商店升级版
  • xp系统玩英雄联盟出现win32
  • 系统没有wmi服务选项
  • win8怎么彻底删除软件
  • windows8使用技巧
  • win10允许访问
  • win7系统配置怎么设置
  • win7打开摄像头权限
  • unity中mathf
  • python标准库很庞大,它可以帮助处理各种工作,包括
  • 用bat打开cmd执行命令
  • 如何设置div自适应宽度
  • linux 批量修改
  • unity 3d教程
  • python写汉字代码
  • python组合运算
  • Android eclipse for mac redo 快捷键
  • python定义全局
  • 通州区税务局办税大厅电话号码
  • 2023年内蒙古房贷利率最新消息
  • 税务局风控
  • 定期定额个体户需要申报个人所得税吗
  • 保险发票不包含哪些
  • 增值税电子专用发票如何进行冲红处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设