我想捕获类型为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;
}
}
上传视频/图像文件时,它会在警报框中分别显示视频/图像。 请建议我需要更改的地方。
答案 0 :(得分:0)
您的逻辑是错误的。你不能有(x!== y)|| (x!== b),因为它将始终为真。
您可能是说'&&'而不是'||'在您的if语句中
答案 1 :(得分:0)
让我向您介绍De Morgan's law。用简单的话说
根据您的情况,您需要测试文件类型既不是'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;
}