Проблема с разделителем путей к файлам Silverlight
Я обнаружил, что при чтении из локального файла из Silverlight мы должны использовать специальный разделитель пути "/", отличный от обычного разделителя пути "\", иначе Silverlight не сможет получить связанный локальный файл, например, нам нужно записать как c:/test/abc.wmv, кроме записи как c:\test\abc.wmv.
Еще два вопроса,
Любое простое решение использовать обычный разделитель файлов?
C# File / FileInfo класс будет использовать нормальный разделитель пути для представления имени файла (полное имя пути), как изменить весь нормальный разделитель пути в этот специальный разделитель пути, чтобы Silverlight мог распознавать?
Я использую VSTS 2008 + C# + .Net 2.0.
спасибо заранее, Джордж
1 ответ
Вы можете использовать метод расширения:
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());
Хотя не уверен в этом, но, думаю, это будет иметь смысл.