element ui实现el-upload用户头像上传(单图上传)

 这是我们要实现的效果

element ui上的代码和效果如下:

<el-upload
  class="avatar-uploader"
  action="https://jsonplaceholder.typicode.com/posts/"
  :show-file-list="false"
  :on-success="handleAvatarSuccess"
  :before-upload="beforeAvatarUpload">
  <img v-if="imageUrl" :src="imageUrl" class="avatar">
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

<style>
  .avatar-uploader .el-upload {
    border: 1px dashed #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
  .avatar-uploader .el-upload:hover {
    border-color: #409EFF;
  }
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 178px;
    height: 178px;
    line-height: 178px;
    text-align: center;
  }
  .avatar {
    width: 178px;
    height: 178px;
    display: block;
  }
</style>

<script>
  export default {
    data() {
      return {
        imageUrl: ''
      };
    },
    methods: {
      handleAvatarSuccess(res, file) {
        this.imageUrl = URL.createObjectURL(file.raw);
      },
      beforeAvatarUpload(file) {
        const isJPG = file.type === 'image/jpeg';
        const isLt2M = file.size / 1024 / 1024 < 2;

        if (!isJPG) {
          this.$message.error('上传头像图片只能是 JPG 格式!');
        }
        if (!isLt2M) {
          this.$message.error('上传头像图片大小不能超过 2MB!');
        }
        return isJPG && isLt2M;
      }
    }
  }
</script>

 接下来我们需要将图片文件上传到接口中,实现代码如下:

<el-form-item label="分类图标" prop="imageUrl" required>
                        <el-upload class="avatar-uploader" :action="action" :headers="headers" :show-file-list="false"
                            :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"
                            style=" border: 1px dashed #d9d9d9;width: 178px;height: 178px;">
                            <img v-if="ruleForm.imageUrl" :src="ruleForm.imageUrl" class="avatar">
                            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                        </el-upload>
                    </el-form-item>
<script/>
export default {
    components: { Pagination },
    data() {
        return {
    action: `${process.env.VUE_APP_BASE_API}/biz/oss/uploadMinio`,
            headers: {
                Authorization: getToken(),
            },
}
},
methods:{
        handleAvatarSuccess(res, file) {
            this.ruleForm.imageUrl = file.response.data.fullUrl;
        },
        beforeAvatarUpload(file) {
            const isJPG = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png';
            const isLt2M = file.size / 1024 / 1024 < 2;
            if (!isJPG) {
                this.$message.error('上传头像图片只能是 jgp,jpeg,webp,png格式!');
            }
            if (!isLt2M) {
                this.$message.error('上传头像图片大小不能超过 2MB!');
            }
            return isJPG && isLt2M;
        },
}
}
<script>
李怼怼蚂蚁雅黑
关注 关注
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
el-upload+boot上传头像
weixin_45266846的博客
03-14 1982
具体步骤1.新建gitee图床和后端代码2.前端代码2.1 el-upload组件2.2 methods 因为一直无法实现将图片保存到本地,所以我在gitee上新建了一个图床仓库,把图片文件都传到图床上,保证用户头像的正常回显。 1.新建gitee图床和后端代码 推一个大佬的链接:Springboot实战:实现本地上传图片到Gitee图床(含完整代码) 2.前端代码 经过我将近一天的试错,搞到一种可以成功实现的方法。 2.1 el-upload组件 <el-upload
element用户上传头像组件带大图预览,和删除功能
weixin_62980497的博客
04-10 617
element 用户上传组件不支持大图预览,拿组件的简单修改一些,发表上来主要是记一下,以后可以用。
使用 element-ui 组件 upload 上传用户头像
死噶的博客
08-30 1091
【代码】使用 element-ui 组件 upload 上传用户头像
element-uiel-upload自定义上传头像
shenzhishijian的博客
09-14 7979
效果图 使用element-uiel-upload自定义上传头像:我实现这个效果的操作是,点击方框就会从本地上传一张图片,直接通过:http-request="upLoad"调用后台的接口将图片保存在服务器上,因为我这里实际上是在修改时写的代码,我进行的操作是拿到上面上传到服务器的图片地址,再调用修改接口完成图片的更换功能。(这是一个反复的过程) 代码部分: 代码片 <template> <div class="personal"> <el-dial
ElementUI组件之头像上传, 并储存在后端服务器
Leonnnn2020的博客
05-07 1783
ElementUI头像上传功能实现
element-ui 上传头像图片
m0_62134648的博客
05-17 707
地址更改,直接用就ok。
vue-cli3.0+element-ui上传组件el-upload的使用
10-17
在本篇文章中,我们将详细探讨如何在vue-cli3.0环境中使用Element UI上传组件el-uploadel-upload组件允许用户上传文件,并且可以进行一系列的定制和限制,以满足各种需求。 首先,`<el-upload>`组件的基本用法...
【JavaScript源代码】element-uiel-upload多文件一次性上传实现.docx
12-28
在处理文件上传时,Element-UI的`el-upload`组件默认情况下会对每个文件发送单独的上传请求。然而,有时我们需要将多个文件一次性上传,并在同一个请求中发送。下面我们将详细介绍如何使用`el-upload`组件实现这一...
使用element-uiupload组件实现上传图片和pdf可查看方法
08-20
本篇文章将详细介绍如何利用Element-UI的`upload`组件来实现图片和PDF文件的上传,并提供查看功能。 首先,`upload`组件是Element-UI中的一个重要组成部分,它提供了文件上传的功能,支持预览、进度条显示、多文件...
解决vue2.0 element-uiel-upload的before-upload方法返回false时submit()不生效问题
12-03
在Vue2.0中,Element-UI库提供了一个强大的组件`el-upload`,用于处理文件上传功能。在本文中,我们将深入探讨如何解决在`before-upload`方法返回`false`时,`submit()`方法不生效的问题,以及如何在取消上传时仅...
vue element-uiel-upload上传图片校验
且听风吟的博客
07-28 3073
element-uiel-upload上传图片相关校验,记录笔记 组件封装: <template> <div class="el-img-upload-container"> <div class="el-img-upload" :class="{'limit-num': fileList.length>=limit, 'mini': size === 'small'}"> <el-upload :action="url" :file
el-upload实现上传头像
萌萌的博客
01-03 1450
1. <template> <el-upload :action="uploadFileUrl" list-type="picture-card" :on-preview="handlePictureCardPreview" ref="uploadimgs" :on-remove="handleRemove" :class="{hide:iconUploadShow}" :on-cha
【Vue3】使用el-upload封装头像上传组件
最新发布
小安驾到的博客
07-04 419
【代码】【Vue3】使用el-upload封装头像上传组件。
elementUI 上传头像
qq_41417772的博客
09-15 3617
<template> <el-upload class="avatar-uploader" :action= action :headers="myHeaders" :show-file-list="false" :on-success="handleAvatarSuccess" :befor
使用element ui-upload组件上传头像
weixin_44542401的博客
06-01 1792
这个头像上传的问题其实困扰我挺久的,我也查了很多的资料可多数都不是我想要的结果。查到有关的也只是模棱两可。以下是我上传成功的全过程希望对你有帮助 这是element upload官网组件 vue前端 这个是我从官网拷贝过来的(改了一点) <el-upload action="http://localhost:8181/123/123/" :before-upload="beforeAvatarUpload" :on
element-ui---头像上传
qq_59076775的博客
08-10 1358
上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。是否显示已上传文件列表。必选参数,上传的地址。
vue+element ui完成头像上传功能(文件转base64)以及自定义布局。
weixin_47192981的博客
02-01 3908
2.2通过on-change来监控传入文件的状态,当上传的文件大小(beforeAvatarUpload函数)以及格式(html代码里面的accept属性)达到了我们的目标要求后就可以将文件进行转换,之后在传给后端。查阅element ui头像上传功能,发现是点击头像位置才可以上传,那我们可不可以点击头像外部的按钮来上传头像呢?当我们明白每个标签的含义之后,我们就可以通过调整img标签的位置来达到自己的目标效果。下图为目标效果图的代码:html+css布局。2、文件转base64(html代码见上图)
VUE3 + TS + el-upload实现头像上传
zs_ms的博客
05-31 469
/ 添加or编辑用户password?: string,/** 用户头像 */avatar?
vue+elementui上传头像
qq_55031668的博客
04-24 3433
vue+elementui上传头像 vue页面中: <el-form-item label="路径" prop="url"> <el-upload class="avatar-uploader" action="" :http-request="field101BeforeUpload" :show-file-list="false" > <img v-if="imageUrl" :src="i
element-ui v-for循环el-upload上传文件
08-24
element-ui的v-for循环el-upload上传文件的代码示例可以参考以下内容: 引用中的代码展示了一个使用v-for循环的表单元素,其中包含了一个el-upload组件用于上传文件。每次循环都会生成一个包含el-upload的div元素,可以根据需要进行多次循环。在el-upload中,可以设置上传文件的相关属性,如action、accept等。同时还可以设置el-image组件用于显示已上传的图片。这个例子可以作为参考来实现element-ui v-for循环el-upload上传文件的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [element-ui v-for循环el-upload上传图片](https://blog.csdn.net/qq_21275565/article/details/121257628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [element-ui el-upload实现上传文件以及简单的上传文件格式验证](https://blog.csdn.net/w1060436872/article/details/126544548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vue-cli3.0+element-ui上传组件el-upload的使用](https://download.csdn.net/download/weixin_38617335/12949215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
写文章

热门文章

  • vue项目配置env 5085
  • element ui实现el-upload用户头像上传(单图上传) 3823
  • vue之vuex的getters详解 3531
  • vue编写问卷调查表(包含单选,多选,文本输入,时间输入的选择题) 2418
  • 使用element ui表格,导致图片放大预览层叠冲突问题 1417

最新评论

  • element ui实现el-upload用户头像上传(单图上传)

    没熬过夜的程序员: 那你发出来干嘛呢,没有参考价值

  • vue编写问卷调查表(包含单选,多选,文本输入,时间输入的选择题)

    m0_72669593: 有完整代码吗大佬

  • vue编写问卷调查表(包含单选,多选,文本输入,时间输入的选择题)

    再难遇她: 大佬 有没有vue3版本的代码呢

  • vue编写问卷调查表(包含单选,多选,文本输入,时间输入的选择题)

    前端阿涛: 大佬 有完整代码提供下吗 谢谢 396416959@qq.com

  • 使用element ui表格,导致图片放大预览层叠冲突问题

    绵绵冰1218: 有用,谢谢

最新文章

  • vue3钩子函数的命名和vue2对比
  • vue之vuex的getters详解
  • 使用element ui表格,导致图片放大预览层叠冲突问题
2023年12篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家镇江仿石头玻璃钢花盆清远玻璃钢仿铜雕塑商场美陈管理联系仿铜玻璃钢雕塑行情花园玻璃钢花盆可以用几年苏州玻璃钢花盆厂繁峙县商场美陈雕塑玻璃钢翻制费用河北曲阳玻璃钢雕塑定制工厂淮北个性化玻璃钢雕塑供应商商场美陈購買安徽水果玻璃钢雕塑销售厂家中山动物玻璃钢雕塑厂家阳泉玻璃钢仿真水果雕塑厂家亳州环保玻璃钢雕塑销售电话咸阳火烈鸟玻璃钢雕塑定制白山玻璃钢雕塑定制公司宁夏玻璃钢仿铜雕塑亳州大型玻璃钢雕塑批发无棣玻璃钢造型雕塑玉溪市玻璃钢雕塑加盟商佛山玻璃钢雕塑生产厂家南通玻璃钢雕塑达州成都商场美陈渠道商场柜台内的圣诞美陈贵州特色玻璃钢雕塑制作六安动物玻璃钢雕塑厂家东北玻璃钢花盆图片迪庆玻璃钢雕塑工程河南常用商场美陈批发价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化