このエラーが繰り返し発生します。
無効な 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 形式として有効ではないの? プレーンテキストなのに。
ベストアンサー1
Uri に別のコンストラクターを使用すると役立つ場合があります。
サーバー名がわかっている場合
string server = "http://www.myserver.com";
それに相対的なURIパスを追加します。例:
string relativePath = "sites/files/images/picture.png"
これら2つからUriを作成すると、UriKind引数を持つコンストラクタを使用しない限り、「フォーマットを決定できませんでした」という例外が発生します。
// this works, because the protocol is included in the string
Uri serverUri = new Uri(server);
// needs UriKind arg, or UriFormatException is thrown
Uri relativeUri = new Uri(relativePath, UriKind.Relative);
// Uri(Uri, Uri) is the preferred constructor in this case
Uri fullUri = new Uri(serverUri, relativeUri);