//template里面写
<el-upload
ref="upload"
style="display:inline;margin-left:10px;"
action="url"
:auto-upload="false"
:multiple="false"
:show-file-list="false"
:before-upload="beforeUpload"
:on-change="changeFile"
accept=".xlsx,.xls"
:file-list="fileList">
</el-upload>
//某个js文件,fetch要引入,公共的ajax
export function parsingExcelAddData (data, setId) {
return fetch({
url: '',
method: 'post', // 方式一定是post
headers: {
'Content-Type': 'multipart/form-data',
'setId': setId //放到formData里后端拿不到,所以放到请求头里了
},
data: data // 参数需要是单一的formData形式
})
}
//vue文件的js里面methods里写如下方法
beforeUpload(file) {
let filename = file.name
let arr = filename.split('.')
if (arr[1] !== 'xls' && arr[1] !== 'xlsx') {
this.$message.error('上传文件只能是 excel/xls 格式!')
return false
}
return arr
},
changeFile(file,fileList) {
let fd = new FormData();
fd.append('file',file.raw);//传文件
let self = this
parsingExcelAddData(fd,this.dataObj.setId).then(function(res){
if (res.data.success) {
self.$message({
type: 'success',
message: '上传成功'
})
self.currentNodeData(self.dataObj.setId) //此方法是重新刷数据,可以自己写
} else {
self.$message({
type: 'warning',
message: res.data.msg
})
return false
}
})
}
版权声明:本文为weixin_43173924原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。