美文网首页
vue+ElementUI实现上传图片

vue+ElementUI实现上传图片

作者: 双耳云 | 来源:发表于2019-06-20 20:30 被阅读0次

    1.获取后台接口上传图片

     <el-upload
      class="avatar-uploader"
      ref="upload"
      list-type="picture-card"
      action="/qiniu/upload"      //后台接口
      :before-upload="beforeUpload"
      :on-change="handleChange"
      :on-success="handleAvatarSuccess"
      :auto-upload="false"
      :data="param"
      :on-preview="handlePictureCardPreview"
      :on-remove="handleRemove"
      :limit="1">
      <i v-if="!this.imageUrl" class="el-icon-upload2"><span class="cash_span">上传列表图</span></i>
    </el-upload>
    <span class="el-upload-actions" v-if="this.imageUrl" @mouseenter="enterPath()" @mouseleave="leavePath()">
      <img v-if="this.imageUrl" width="100%" :src="this.imageUrl" alt="" >
        <span v-if="showPath" class=" preview"  @click="handlePreview()">
          <i class="el-icon-zoom-in preview_i"></i>
        </span>
        <span v-if="showPath" class=" delete" @click="handleDelete()">
          <i class="el-icon-delete delete_i"></i>
        </span>
    </span>
    <el-dialog :visible.sync="dialogVisible" :modal-append-to-body="false">
      <img width="100%" :src="this.imageUrl" alt="">
    </el-dialog>           
    

    2.功能实现代码

     //鼠标移入时
      enterPath(){
        this.showPath = true;
      },
      //鼠标移出时
      leavePath(){
        this.showPath = false;
      },
      //预览
      handlePreview(){
        console.log('111');
        this.dialogVisible = true;
      },
      //删除
      handleDelete(){
        console.log('222');
        this.$refs.upload.clearFiles();
        this.imageUrl = '';
      },
      //上传图片
      handleChange (file, fileList) {
        this.param.imgFile = file.raw;
        let vm = this;
        vm.$refs.upload.submit();
      },
      //获取上传图片时后台返回的地址     
      handleAvatarSuccess(res, file) {
        this.imageUrl = URL.createObjectURL(file.raw);   //获取上传图片的本地地址
        this.imageUrl = res.data.qnUrl
      },
      beforeUpload(file) {
        return true;
      },
    

    相关文章

      网友评论

          本文标题:vue+ElementUI实现上传图片

          本文链接:https://www.haomeiwen.com/subject/lghsqctx.html