文件上传图片形式

<template>
  <div>
    <el-upload
      style="margin-top: 10px;"
      class="upload-demo"
      list-type="picture-card"
      action="http://192.168.1.115:9999/sdfs/file/uploadFile"
      :on-remove="handleRemoveF"
      :on-success="handleSuccessF"
      :before-upload="handleBefore"
      :file-list="fileList">
      附件上传
      <div slot="tip" class="el-upload__tip">文件大小不超过{{size}}MB</div>
      <div slot="file" slot-scope="{file}">
        <div style="width: 146px;height: 146px;display: flex;justify-content: center;align-items: center;
                  padding: 3px;">
          <span>{{ file.name }}</span>
        </div>

        <span class="el-upload-list__item-actions">
                      <span class="el-upload-list__item-preview" @click="handleDown(file)">
                          <i class="el-icon-download"></i>
                      </span>
                      <span class="el-upload-list__item-delete" @click="handleRemoveF(file)">
                          <i class="el-icon-delete"></i>
                      </span>
                  </span>
      </div>
    </el-upload>
  </div>
</template>

<script>
import util from '@/libs/util'
export default {
  name: "UploadFile",
  props: {
    fileList:{
      type: Array,
      default: () => {
        return []
      }
    },
    size:{
      type: Number,
      default: () => {
        return 1
      }
    }
  },
  watch:{

  },
  data() {
    return {
      uploadUrl: util.baseUrl + '/sdfs/file/uploadFile',
      file:''
    }
  },
  methods: {
    handleRemoveF(file, fileList) {
      for(let i in this.fileList){
        if(file.data.filePath==this.fileList[i].data.filePath){
          this.fileList.splice(i,1)
        }
      }
    },
    handleDown(file) {
      window.open(util.baseUrl + '/sdfs/file/download?filePath=' + file.data.filePath)
    },
    handleBefore(file){
      const isLt2M = file.size / 1024 / 1024 < this.size;
      if (!isLt2M) {
        this.$Message.error('上传文件大小不能超过'+ this.size +'MB!')
      }
      return isLt2M;
    },
    handleSuccessF(res, file) {
      res.name = file.name
      this.fileList.push(res)
    }
  }
}
</script>

<style scoped>

</style>

 

posted @ 2022-12-15 15:40  abcByme  阅读(27)  评论(0编辑  收藏  举报