从字节数组或流中获取文件名

Gus*_*Gus 23 .net c# bytearray stream

可以从字节数组或流中获取文件名吗?我不想保存文件.我只想找回这个名字.

Mar*_*ell 42

如果Stream实际上是一个是FileStream,那么这可能是可用通过强制转换FileStream和访问.Name属性:

Stream stream = ...
FileStream fs = stream as FileStream;
if(fs != null) Console.WriteLine(fs.Name);
Run Code Online (Sandbox Code Playgroud)

但是,在一般情况下:不,这是不可用的.A byte[] 当然没有文件名的概念,大多数其他类型的流也没有.同样,FileStream由其他流(压缩,加密,缓冲等)包装的基本流将不会暴露此类信息,尽管底层流(多个层向下)是文件.

我会分别处理文件名.


Ada*_*rth 14

不,这是不可能的(好的,所以它可能在FileStream课堂上,每天学习新东西!).

字节数组或流表示文件的内容,而不是有关该文件的Windows 元数据.

有很多直接的方法可以保留这些信息,但不了解您的情况我无法提供解决方案.