0

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

还有两个问题,

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

  2. C# File/FileInfo 类会使用普通的路径分隔符来表示一个文件名(全路径名),如何将所有普通的路径分隔符改成这个特殊的路径分隔符让 Silverlight 能够识别?

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

提前谢谢,乔治

4

1 回答 1

2

您可以使用扩展方法:

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

或者

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

编辑:

在考虑之后,更多的 Silverlight 可能适用于 URI。
也就是说,Silverlight 中的所有路径都是 URI。
因此,您可能应该使用 Uri 而不是使用 Path,例如:

Uri mySilverlightPath = new Uri(myPathString);

或者

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

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

于 2009-07-13T09:51:57.487 回答