我发现从Silverlight读取本地文件时,我们必须使用特殊路径分隔符“/”而不是普通路径分隔符“\”,否则Silverlight无法获取相关的本地文件,例如我们需要写为c :/test/abc.wmv,而不是写为c:\ test \ abc.wmv。
还有两个问题,
使用普通文件分隔符的任何简单解决方案?
C#File / FileInfo类将使用普通路径分隔符来表示文件名(完整路径名),如何将所有正常路径分隔符更改为此特殊路径分隔符,以便Silverlight可以识别?
我正在使用VSTS 2008 + C#+ .Net 2.0。
提前谢谢, 乔治答案 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());
虽然不确定,但我想这是有道理的。