使用ant-design 上传文件组件Upload时的beforeUpload返回false,文件仍然上传的问题

在使用Upload这个组件的时候,我们会发现它其实又许多的小坑坑。
如果我们在beforeUpload中直接返回true或者是false,那么它其实也是会上传文件的,因为它也会触发onChange函数。
我这里是采用在对应的函数中返回一个promise来解决的,就像下面这样:

export function checkBeforeFileUpload(file){
  return new Promise((resolve, reject) => {
    let fileName = file.name;
    //截取文件名
    let pointPos = fileName.indexOf('.');
    fileName = fileName.substring(0, pointPos);
    //判断文件是否符合正则表达式的规则
    if (!fileNameRegular.reg.test(fileName)) {
      message.error(fileNameRegular.msg);
      return reject(false)
    }
    return resolve(true);

  });
}

这样在不满足条件的情况下,它就不会上传文件啦

你可能感兴趣的:(js)