通过转换为FileStream获取流的路径

时间:2013-08-15 08:45:02

标签: c# stream filestream

我需要在流中获取原始文件的路径。

我读到我需要使用 FileStream 的“名称”属性来获取它的路径。
到目前为止一切都很好。

问题是我有一个常规的 System.IO.Stream 而不是 FileStream ,因此我没有“名称 “财产。

我读到有 Stream.CopyTo 方法:http://msdn.microsoft.com/en-us/library/dd782932.aspx

我计划将 Stream 转换为 FileStream ,如下所示:

System.IO.FileStream fileStream = new System.IO.FileStream(?????);
using (stream)
{
    stream.CopyTo(fileStream);
}  

但FileStream没有无参数构造函数。

我该如何解决?

2 个答案:

答案 0 :(得分:2)

假设Stream是FileStream的一个实例,您可以将Stream转换为FileStream:

var fileStream = stream as FileStream;

您能够从Stream实例获取路径名的唯一方法是,如果您能够将其转发到提供访问路径的方法的类。

答案 1 :(得分:1)

获取流的路径

System.IO.FileStream Stream = ....;
FileStream fs = stream as FileStream;
if (fs != null)
{
    // now you can check its path
}
else
{
    // you cant check its path
}