Если поток действительно FileStream
, тогда вы сможете выполнить следующее
var ext = Path.GetExtension(fileStream.Name);
Если это просто старый Stream
, тогда, как правило, получить расширение, как правило, невозможно.Stream
может быть создано для любого потока байтов.Это не должно иметь файл поддержки.
Обновление
Поскольку Крис указал в комментариях, есть еще один вопрос SO, который имеет отношение к этому обсуждению.Обсуждается эвристика для определения типа byte[]
, который затем может быть сопоставлен с вероятной оригинальной подписью.
Он ни в коем случае не является надежным, но может быть полезен длявы.