Быстрый вопрос:
Может кто-нибудь придумать лучший способ, чем RegEx или обычный текстовый поиск, чтобы определить, имеет ли объект Uri (не строка URL) расширение файла?
- Объект Uri, сгенерированный из http://example.com/contact, НЕ ДЕЛАЕТ
- Объект Uri, сгенерированный из http://example.com/images/logo.png DOES
Любые мысли приветствуются. Извините, если я что-то пропустил в .NET Framework/Uri-классе, который уже делает это.
Немного сложнее мудро.
- Объект Uri, сгенерированный из http://example.com/contact.is.sortof.valid, НЕ ДЕЛАЕТ
- Объект Uri, сгенерированный из http://example.com/images/logo.is.sort.of.valid.png DOES
Я принял ответ Craigtp; однако для того, что мне нужно, решение таково.
var hasExtension = Path.HasExtension(requestUri.AbsolutePath);
Всем, кто попробовал это. Чтобы получить полный и исчерпывающий ответ, вам, очевидно, понадобится словарь MIME-типов для дальнейшей проверки. Например, http://example/this.is.sort.of.valid.but.not.a.mime.type вернул бы "true" и имеет Path.HasExtension
, однако для того, что мне нужно, у меня никогда не было бы этого типа пути, входящего.