Ответ 1
string extension = Path.GetExtension(myFileStream.Name);
Есть ли способ узнать тип FileStream
. У меня есть функция, которая принимает объект FileStream
, и я хочу определить расширение файла на основе этого FileStream
.
string extension = Path.GetExtension(myFileStream.Name);
Если поток действительно является FileStream
, вы должны иметь возможность сделать следующее
var ext = Path.GetExtension(fileStream.Name);
Если это простой старый Stream
, хотя, как правило, невозможно получить расширение, так как Stream
может быть создан для любого потока байтов. Он не должен иметь файл резервной копии.
Обновление
Как отметил Chris, в комментариях есть еще один вопрос, который имеет отношение к этому обсуждению. В нем обсуждается эвристика для определения типа a byte[]
, которая затем может быть отображена на вероятную оригинальную подпись.
Он ни в коем случае не является надежным, но может быть вам полезен.
Да, используя имя файла, возвращается .txt
(включая .
):
var path = myFileStream.Name;
return Path.GetExtension(path);