ant design vue文件上传

<template>
  <a-modal
    :visible="modalValue.visible"
    title="批量导入"
    width="38%"
    :maskClosable="false"
    @ok="handleOk"
    @cancel="handleCancel"
  >
      <a-upload-dragger
        accept=".csv"
        :multiple="false"
        action
        :before-upload="beforeUpload"
        :file-list="fileList"
      >
        <p class="ant-upload-drag-icon">
          <img style="width: 40px; height: 53px" src="@/assets/upload.png" />
        </p>
        <p class="ant-upload-text">点击或者拖拽导入文件进行上传</p>
        <p class="ant-upload-hint">
          (只支持csv文件,编码格式需为GB2312格式)
        </p>
      </a-upload-dragger>
  </a-modal>
</template>

<script>
import { uploadFile, downloadFile } from '@/api/interfaceList'
import downloader from 'downloadjs'
import { mapGetters } from 'vuex'
export default {
  props: {
    modalValue: {},
  },
  data() {
    return {
      fileList: [],
      data: {},
      name: '',
    }
  },
  computed: {
    ...mapGetters(['adcode']),
  },
  methods: {
    beforeUpload(file) {
      return new Promise((resolve, reject) => {
        let type = file.name.toLowerCase().substr(file.name.lastIndexOf('.'))
        if (type != '.csv') {
          this.$message.warning('请上传csv文件')
          return reject(false)
        }
        this.fileList = [...this.fileList, file]
        return false
      })
    },
    handleOk() {
      if (this.fileList.length == 0) {
        this.$message.warn('请上传文件')
        return
      } else {
        const that = this
        const fd = new FormData()
        this.fileList.forEach(file=>{
          fd.append('files', file)
        })
         console.log("");
        uploadFile(fd).then((res) => {
          if ("0"==res.status) {
            that.$message.success('上传成功')
            that.modalValue.visible = false
            that.$emit('updatetable',res.result)
          } else {
            that.$message.error(res.description||res.message)
          }
        })
        this.fileList = []
      }
    },
    handleCancel() {
      this.modalValue.visible = false
      this.fileList = []
    },
  },
}
</script>

<style>
</style>
posted @   泽泽生龙  阅读(1188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示