Silverlight文件路径分隔符问题

时间:2009-07-13 09:29:58

标签: c# .net visual-studio-2008 silverlight path-separator

我发现从Silverlight读取本地文件时,我们必须使用特殊路径分隔符“/”而不是普通路径分隔符“\”,否则Silverlight无法获取相关的本地文件,例如我们需要写为c :/test/abc.wmv,而不是写为c:\ test \ abc.wmv。

还有两个问题,

  1. 使用普通文件分隔符的任何简单解决方案?

  2. C#File / FileInfo类将使用普通路径分隔符来表示文件名(完整路径名),如何将所有正常路径分隔符更改为此特殊路径分隔符,以便Silverlight可以识别?

  3. 我正在使用VSTS 2008 + C#+ .Net 2.0。

    提前谢谢, 乔治

1 个答案:

答案 0 :(得分:2)

您可以使用扩展方法:

public string ToSilverlightPath(this string s)
{
  return s.Replace("\\", "/");
}

public string ToSilverlightPath(this Path p)
{
  return p.GetFullPath().Replace("\\", "/");
}

修改

在考虑之后,更多的Silverlight可能与URI一起工作 也就是说,Silverlight中的所有路径都是URI 因此,不应使用Path,而应使用Uri,例如:

Uri mySilverlightPath = new Uri(myPathString);

Uri mySilverlightPath = new Uri(myPath.GetFullPath());

虽然不确定,但我想这是有道理的。