基于若依后台管理系统进行开发 ,在使用el-upload组件进行批量上传时遇到“数据正在上传,请勿重复提交”提示。现在后端给了两个接口,一个是文件校验,就是在使用el-upload时候调用的接口,给后端传一个文件流。接口返回的值是当前文件是否在数据库中已存在,然后在根据返回的结果在调另一个 提交上传的接口。 提交上传接口根据参数 type为"1:覆盖.2:递增.3.正常上传"来进行当前的文件上传提交。现在我将上传提交的这个接口写在了上传成功时的钩子函数中。每个文件上传成功的时候,我让它执行一次提交。但是遇到了“数据正在上传,请勿重复提交”提示。批量上传如果连续上传4个文件现在每次只能成功提交上传1个。
// 批量上传成功钩子函数
batchUploadSuccess(file, fileList) {
let formData = new FormData();
if (file.response) {
if (file.response.code == 200) {
formData.append("type", 3);
formData.append("excelFile", file.raw);
// 调用 提交上传 接口
importFileTer(formData).then((response) => {
console.log("importFileTer: ", response);
this.getList();
});
}
} }
我认为应该是因为重复调用接口了,这个提示是因为后面这个 提交上传 的接口导致的。我分析是因为每个文件上传成功都会调用上传成功时的钩子函数。所以接口重复执行。但是这个自动上传。如果不在上传成功时的钩子函数中调用 提交上传 这个接口,那应该在其他什么地方调用呢?