Хотя вы можете использовать расширение, чтобы сделать разумное предположение относительно того, что это за файл, он не гарантированно будет работать 100% времени.Если вы ориентируетесь на Windows, то будет работать в 99,9% случаев, так как Windows отслеживает, какой тип файла.
Если вы получаете файлы из источников, отличных от Windowsединственный верный способ - открыть файл и найти определенную строку или набор байтов, которые однозначно идентифицируют его.Например, вы можете искать теги ID3 в файле mp3:
Тег ID3v1 занимает 128 байтов, начиная со строки TAG.
или
Теги ID3v2 имеют переменный размер и обычно появляются в начале файла, чтобы помочь потоковому мультимедиа.
Как далеко вы зайдете, зависит от того, какНадежный, вы хотите, чтобы ваше решение было, и полагается на наличие заголовка или шаблона, который всегда присутствует.
Выполнение этого может помочь защитить от вредоносного контента, когда кто-то публикует часть вредоносного программного обеспечения в виде mp3-файла (скажем) и надеется, что он просто будет запущен программой, склонной к некоторой уязвимости (возможно, переполнение буфера).