el-upload上传组件,上传失败缩略图依旧存在问题

问题:

我的图片上传限制了大小,上传时超过5M会报错提示不能超过该大小,但是缩略图依旧生成了

解决:

调用上传函数时,失败则返回Promise.reject()。具体代码如下:


  


  



const handleUpload = (option) => {
  const isType = option.file.type === 'image/jpeg' || 'image/png'
  const isLt20M = option.file.size / 1024 / 1024 < 20
  let flag=true;
  if (!isType) {
    ElMessage.error('上传图片只能是 JPG、PNG 格式!');
    flag=false;
  }
  if (!isLt20M) {
    ElMessage.error('上传图片大小不能超过 20MB!');
    flag=false;
  }
  if(!flag){
   //关键在这里,要reject         
    return Promise.reject()
  }else{
    appealFileList.push(option.file);
  }
};

扩展:

我这个功能是多图片上传,前端上传到OSS,另外还有一个保存按钮,最开始是用户上传一次就立马上传到OSS,但是生产中经常发生丢图片的事件,最后反应过来是异步的问题,一次上传多张图片,图片还在上传OSS,用户点击保存,导致最后的上传的照片集合中只有部分图片。
解决方案:在用户点击保存的时候对所有图片进行上传,等待所有图片上传完毕后再请求后端接口

你可能感兴趣的:(前端学习,前端)