//vue模板中的样式
<el-form-item label="选择文件:" prop="filepath">
<el-upload
class="upload-demo"
action=""
:on-remove="handleRemove"
:before-remove="beforeRemove"
:file-list="fileList"
:limit="limitNum1"
:http-request="getFangShi"
accept=".xls,.xlsx"
>
<!-- :show-file-list="false" -->
<el-button size="small" type="primary">点击上传文件</el-button>
</el-upload>
</el-form-item>
//data中需要定义的数据字段
// 上传附件用
fileList: [],
limitNum1: 1, //只允许上传一个附件-----后端说按照一个来先
//js写法
getFangShi(item) {
let formData = new FormData();
formData.append("file", item.file);
console.log(formData.get("file"), "这是给文件传入时候的数据append");
formData.append("rwid", this.dataId);
console.log(formData.get("rwid"), "append之后的数据");
axios({
method: "post",
url: this.$config + "/qycqgz/importData",
data: formData,
headers: {
"Content-Type":
"multipart/form-data;boundary = " + new Date().getTime(),
},
})
.then((res) => {
console.log(res, "成功");
})
.catch(function (error) {
console.log(error, "失败");
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
this.addForm.filepath = "";
this.addForm.filename = "";
this.fileList = [];
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
其主要用到了http-request方法,成功(on-success)和失败(on-error)的函数可以不写