确定给定 FileStream 的文件扩展名
Posted
技术标签:
【中文标题】确定给定 FileStream 的文件扩展名【英文标题】:Determining file extension given a FileStream 【发布时间】:2012-02-13 10:17:21 【问题描述】:有什么方法可以知道FileStream
的类型。我有一个接受FileStream
对象的函数,我想根据FileStream
确定文件扩展名。
【问题讨论】:
【参考方案1】:如果流确实是FileStream
,那么您应该能够执行以下操作
var ext = Path.GetExtension(fileStream.Name);
如果它是一个普通的旧Stream
,那么通常不可能获得扩展名,因为可以为任何字节流创建Stream
。它不必有支持文件。
更新
正如Chris 在 cmets 中指出的,还有另一个与此讨论相关的 SO 问题。它正在讨论确定byte[]
类型的启发式方法,然后可以将其映射到可能 原始签名。
这绝不是万无一失的,但可能对您有所帮助。
【讨论】:
【参考方案2】:是的,使用以下文件名将返回.txt
(包括.
):
var path = myFileStream.Name;
return Path.GetExtension(path);
【讨论】:
【参考方案3】: string extension = Path.GetExtension(myFileStream.Name);
【讨论】:
以上是关于确定给定 FileStream 的文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET 使用 FileStream (FileMode.Open) 读取 xml -> System.UnauthorizedAccessException