首页 > 解决方案 > 为什么在验证文件类型时出现错误?

问题描述

我想捕获具有类型的文件image or video。但根据我的情况,我无法理解为什么即使是正确的文件类型也会引发错误。下面是我的代码:

app.component.ts

startUpload(event: FileList)
  {
    const file = event.item(0);
    if((file.type.split('/')[0] !== 'video') || (file.type.split('/')[0] !== 'image'))
    {
      alert(file.type.split('/')[0]);
      return;
    }
  }

上传视频/图像文件时,它分别在警报框中显示视频/图像。请建议我在哪里需要更改。

标签: angulartypescriptangular9

解决方案


让我向您介绍德摩根定律。简单地说,它说明了

  • 非(A 或 B)= 非 A 非 B
  • 非(A 和 B)= 非 A 或非 B

因此,在您的情况下,您需要测试文件类型是否既不是'video'也不是'image'。所以你可以做

const fileType = file.type.split('/')[0];
if((fileType !== 'video') && (fileType !== 'image')) {
  alert(fileType);
  return;
}

或者

const fileType = file.type.split('/')[0];
if(!((fileType === 'video') || (fileType === 'image'))) {
  alert(fileType);
  return;
}

推荐阅读