Вы зря полагаетесь на то, что выдает браузер в качестве mime-типа. Они (браузеры) не знают большое количество типов и не могут гарантировать корректное распознавание, т.к. производят его на основе расширения (под windows). Самый верный на мой взгляд способ — это найти или реализовать самому аналог mime-magic на Javascript.