<el-upload action="" :before-upload="fun1" :limit="1" :accept="accept">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload-tip">上传aa格式</div>
</el-upload>
在业务应用程序中,在 el-upload 上传时,实际before-upload方法中已经完成了文件上传,排查的时候就推测可能其在此完成后又执行一次文件上传,从 before-upload 方法名中也能看出其规划的工作内容并不是真正的文件上传操作,而是一个上传前的预处理,包括文件大小、格式等检查。直接实现文件上传的程序逻辑按规划应该写在 http-request 方法中。像当前这样在 before-upload 已经实现了所有业务的情况下,只需要增加 定义 http-request方法并在方法中直接 return 即可。
<el-upload action="#" :before-upload="fun1" :http-request="fun2" :limit="1" :accept="accept">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload-tip">上传aa格式</div>
</el-upload>
fun fun2{
return true;
}
在排查问题的时候,开始我关注了另外一个属性::auto-upload="false",以为是这个设置值为 true 导致进行 before-upload后进行了自动上传,经过测试发现并不是,auto-upload 如果设置为 false,则在上传文件时根本不会触发 before-upload 方法,就需要用户在程序中进行手动触发。
本文地址:http://47.93.183.36/article/1290.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
手机扫码直接打开本页面 |