【vue+elementUI】重写文件上传方法

【vue+elementUI】重写文件上传方法

<template>
<div>
  <el-upload
    action="upload"
    :http-request="handleUploadFile"
    ref="upload
    list-type="picture-card"
    :on-preview="handlePictureCardPreview"
    :on-remove="handleRemove"
    accept=".png,.jpg,.jpeg"
    class="el-form-item">
    <i class="el-icon-plus"></i>
  </el-upload>
  <el-dialog :visible.sync="dialogVisible">
    <img width="100%" :src="pictureList" alt="">
  </el-dialog>
</div>
</template>

<script>
export default {
  data () {
    return {
      pircturList = [], //图片列表
      dialogVisible = false
    }
  },
  methods: {
    // 重写文件上传方法
    handleUploadFile (params) {
      const that = this
      const _file = params.file
      const isLt2M = _file.size / 1024 / 1024 < 2
      const api = '/api/upload'

      let param = new FormData()
      param.append('file', _file)

      if (!isLt2M) {
        that.$message.error('请上传2M以下的图片文件(*.png/*.jpg/*.jpeg)')
        return false
      }
      
      that.$api.post(api, param, r => {
        // code
        console.log(r)
      })
    },

    // 删除图片
    handleRemove (file, fileList) {
      console.log(file, fileList)
    },

    // 预览图片
    handlePictureCardPreview (file) {
      this.RFQData.certList = file.url
      this.dialogVisible = true
    },
  }
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值