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/searchoperation'
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].slice(0, 1)
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)
})
fd.append('userName', JSON.parse(localStorage.getItem("pro__Login_Username")).value)
uploadFile(fd).then((res) => {
if (res.code == "200"||res.status == "0") {
that.$message.success('上传成功')
that.modalValue.visible = false
that.$emit('updatetable')
} else {
that.$message.error(res.description||res.message)
}
})
this.fileList = []
}
},
handleCancel() {
this.modalValue.visible = false
this.fileList = []
},
},
}
</script>
<style>
</style>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!