Я все время получаю эту ошибку.
Недействительный URI: не удалось определить формат URI.
код, который у меня есть:
Uri uri = new Uri(slct.Text);
if (DeleteFileOnServer(uri))
{
nn.BalloonTipText = slct.Text + " has been deleted.";
nn.ShowBalloonTip(30);
}
Обновление: содержимое в slct.Text есть ftp.jt-software.net/style.css
.
Что дает? Как это недопустимый формат URI? Это обычный текст.
ftp://
илиhttp://
указаны в вашем URI. Теперь вы получаете мой голос ;-)Ответы:
Может помочь использование другого конструктора для Uri.
Если у вас есть имя сервера
и добавить к нему относительный путь Uri, например
При создании Uri из этих двух я получаю исключение «формат не может быть определен», если я не использую конструктор с аргументом UriKind, т.е.
источник
Проверьте возможные причины здесь: http://msdn.microsoft.com/en-us/library/z6c2z492(v=VS.100).aspx
РЕДАКТИРОВАТЬ:
Вам нужно поставить префикс протокола перед адресом, т.е. в вашем случае "ftp: //"
источник
Похоже, это настоящий uri. Я столкнулся с этой проблемой при кроссбраузерности Silverlight; в своем блоге я упомянул обходной путь: передайте URI «контекста» в качестве первого параметра.
Если uri действительный, контекстный uri используется для создания полного uri. Если uri является абсолютным, то контекстный uri игнорируется.
РЕДАКТИРОВАТЬ: вам нужна «схема» в uri, например «ftp: //» или «http: //»
источник
Лучше использовать
Uri.IsWellFormedUriString(string uriString, UriKind uriKind)
. http://msdn.microsoft.com/en-us/library/system.uri.iswellformeduristring.aspxПример :-
источник
Я решил обойти это, используя вместо этого UriBuilder .
источник
Для меня проблема заключалась в том, что когда я получил какое-то доменное имя, у меня было:
cloudsearch -..-..- xxx.aws.cloudsearch ... [НЕПРАВИЛЬНО]
http: //cloudsearch-..-..-xxx.aws.cloudsearch ... [ СПРАВА ]
надеюсь, что это сработает за вас :)
источник