Проблема с разделителем путей к файлам Silverlight - PullRequest
0 голосов
/ 13 июля 2009

Я считаю, что при чтении из локального файла из Silverlight, мы должны использовать специальный разделитель пути "/", отличный от обычного разделителя пути "\", иначе Silverlight не сможет получить связанный локальный файл, например, нам нужно записать как c : /test/abc.wmv, кроме записи как c: \ test \ abc.wmv.

Еще два вопроса,

  1. Есть ли простое решение использовать обычный разделитель файлов?

  2. C # Класс File / FileInfo будет использовать нормальный разделитель пути для представления имени файла (полное имя пути), как изменить весь обычный разделитель пути в этот специальный разделитель пути, чтобы Silverlight мог распознавать?

Я использую VSTS 2008 + C # + .Net 2.0.

спасибо заранее, George

1 Ответ

2 голосов
/ 13 июля 2009

Вы можете использовать метод расширения:

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

или

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

Edit:

Подумав об этом, Silverlight, вероятно, работает с URI.
То есть все пути в Silverlight являются URI'ами.
Поэтому вместо использования Path вы, вероятно, должны использовать Uri, например:

Uri mySilverlightPath = new Uri(myPathString);

или

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

Хотя не уверен насчет этого, но, думаю, это имело бы смысл.

...