【发布时间】:2012-02-13 10:17:21
【问题描述】:
有什么方法可以知道FileStream 的类型。我有一个接受FileStream 对象的函数,我想根据FileStream 确定文件扩展名。
【问题讨论】:
标签: c# filestream file-extension
有什么方法可以知道FileStream 的类型。我有一个接受FileStream 对象的函数,我想根据FileStream 确定文件扩展名。
【问题讨论】:
标签: c# filestream file-extension
如果流确实是FileStream,那么您应该能够执行以下操作
var ext = Path.GetExtension(fileStream.Name);
如果它是一个普通的旧Stream,那么通常不可能获得扩展名,因为可以为任何字节流创建Stream。它不必有支持文件。
更新
正如Chris 在 cmets 中指出的,还有另一个与此讨论相关的 SO 问题。它正在讨论确定byte[] 类型的启发式方法,然后可以将其映射到可能 原始签名。
这绝不是万无一失的,但可能对您有所帮助。
【讨论】:
是的,使用以下文件名将返回.txt(包括.):
var path = myFileStream.Name;
return Path.GetExtension(path);
【讨论】:
string extension = Path.GetExtension(myFileStream.Name);
【讨论】: