Проблема в том, что в операторе if это всегда будет true . Вы получили:
if(fileName.lastIndexOf(".jpg") == -1 || fileName.lastIndexOf(".png") == -1)
И один из них всегда будет правдой, из-за чего все выражение будет правдой.
Возможно, вы захотите использовать AND ( && ) вместо OR ( || ).
if(fileName.lastIndexOf(".jpg") == -1 && fileName.lastIndexOf(".png") == -1)
Решает непосредственную проблему, но этот тип проверки всегда будет некорректным, поскольку, если имя файла будет примерно таким, как "c: \ sample.jpg.zip" , оно будет действительным.
Вы должны проверить, находится ли расширение в конце строки, с помощью функции EndWith () или соответствующего Regex.
Подробнее на заканчивается в JavaScript .