vue【1-0】el-upload 上传头像预览(直接使用官网上传方法)

本文介绍了如何在Vue项目中使用el-upload组件实现头像上传并预览的功能。首先,通过限制上传文件格式和大小,然后利用beforeAvatarUpload方法进行文件校验。接着,通过嵌套dialog实现上传前的预览。在用户选择文件后,先不立即上传,而是等待用户确认后再提交。最后,讨论了在关闭或取消操作时清空上传列表的方法,并指出在实际项目中可能需要自定义上传接口以满足特定需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

功能要求

效果展示

要点: 

0、upload自定义

修改如下: 

el-upload代码:

 1、嵌套dialog自定义

修改如下: 

dialog代码:

完整代码:

总结


 

功能要求

  1. 点击修改头像,弹出上传框
  2. 选择文件上传后弹出校验框
  3. 因头像为一张,确认、取消、关闭窗口需清空列表

效果展示

要点: 

0、拖拽上传upload自定义

1、嵌套dialog自定义

0、upload自定义

/// 官网代码————el-upload

<el-upload
  class="upload-demo"
  drag
  action="https://jsonplaceholder.typicode.com/posts/"
  multiple>
  <i class="el-icon-upload"></i>
  <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>

修改如下: 

0.1 限制上传的文件格式:

accept=".jpg,.jpeg,.png,.JPG,.JPEG"

0.2 图片大小限制:绑定beforeAvatarUpload方法,如下,也可在里面写文件格式的判断,搜一下就有了

0.3 图片预览——这里粗糙的用on-success,即上传后再显示,可以自己改用on-change,再submit,具体参见下篇,1.3同解释

el-upload代码:

<template>
                      <!-- drag upload -->
                      <el-upload
                        class="upload-demo"
                        ref="upload"
                        drag
                        action="https://jsonplaceholder.typicode.com/posts/"
                        accept=".jpg,.jpeg,.png,.JPG,.JPEG"
                        :multiple="false"
                        list-type="picture"
                        :before-upload="beforeAvatarUpload"
                        :on-success="handleAvatarSuccess"
                      >
                        <i class="el-icon-upload"></i>
                        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
                        <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
                      </el-upload>
</template>

<script>
export default {
  name: 'Personal',
  data () {
    return {
      // 个人中心-用户资料修改
      ruleFormPersonalInfo: { // 用户资料表单
        name: this.$store.state.name,
        info: this.$store.state.info,
        url: this.$store.state.image
      },
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值