無効なURI: URIの形式を判別できませんでした 質問する

無効なURI: URIの形式を判別できませんでした 質問する

このエラーが繰り返し発生します。

無効な 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);

おすすめ記事