zoukankan      html  css  js  c++  java
  • 基于vue+element做图片的上传功能(二)

    1.利用element中的upload的上传功能,由于项目需求只能上传传一张图片,所以就用了用户头像上传这个方法

    详情看element网站:https://element.eleme.cn/2.0/#/zh-CN/component/upload

    2.去网站上直接将代码拷贝下来,前提是element可以使用。

    <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>

    data中的数据:

    data() {
      return {
           imageUrl: '',
           formData: {
             imageUrl: '', //提交给后台的地址
           }
       }            
    }

    methods方法:

    handleAvatarSuccessThree(res, file) {
       this.imageUrl = URL.createObjectURL(file.raw);
       this.formData.imageUrl = res[0].newFileName;
       this.$message({ //上传成功返回的消息
          type: 'success',
          showClose: true,
          message: res[0].info
       })
    },

    beforeAvatarUpload(file) { // 上传前的方法,限制上传的大小,还有格式,我这边没有限制
        const isLt2M = file.size / 1024 / 1024 < 2;
    if (!isLt2M) {
    this.$message.error('图片大小不能超过 2MB!');
    }
    return isLt2M;
    }

    这样就可以上传成功了,由于我这个是上传一张,上传一张会将原来的图片替换掉,没有做删除功能。

    欢迎大家不吝赐教!

  • 相关阅读:
    Linux命令行操作基础练习
    Linux基础系统优化
    神奇的二维码(觉得有点儿意思,转了~)
    django 中的cookie和session
    django 中间件操作
    django orm操作
    django 视图
    django 路由
    django(2) 模板
    django 模板(1)
  • 原文地址:https://www.cnblogs.com/0314dxj/p/11943282.html
Copyright © 2011-2022 走看看