2012-01-18 78 views

回答

20
string extension = Path.GetExtension(myFileStream.Name); 
21

如果流是一個真正的FileStream,那麼你應該能夠做到以下

var ext = Path.GetExtension(fileStream.Name); 

如果它是一個普通的老Stream但那就不是一般可能得到擴展,因爲Stream可以創建任何字節流。它不一定有一個支持文件。

更新

由於Chris指出在評論中還有另外一個SO問題是相關的討論。它討論了確定byte[]類型的啓發式方法,然後可以將其映射到可能的原始簽名。

這絕不是簡單的,但可能會對你有所幫助。

4

是,使用文件名以下將返回.txt(包括.):

var path = myFileStream.Name; 
return Path.GetExtension(path);