Совсем ванильно можно, но Вы уверены, что учтете все возможные случаи?
Можно так:
1. Спарсить таблицу mime типов из какого-нибудь nginx или apache
2. Получить расширение файла через path.extname
3. Выдать mime тип по таблице
P.S. все это уже сделали в библиотеке
mime, и это глупо совсем уж отказываться от сторонних решений, драйвер к БД тоже сами писать будете?