Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Как проверить URL введённый пользователем?


Автор: JaguarSmith 11.5.2006, 02:19
Доброе время!  smile 

Собственно сабж... 

Задача у мну такая - пользователь вводит ссылку на картинку - если ссылка живая и картинка есть по указанному адресу (желательно и relative и absolute) то мы показываем эту картинку в элементе image если нет то грузим заранее заготовленную картинку.

Ато получается такая хреновина что пользователь  чегото ввёл и у мну вылазит "красный крестик на белом фоне" 

В результате долгих проб и ашипок пришел к чему-то  вроде:
Код

 If UPIC_text.Text <> "" Then


                Dim u As System.Uri
                Dim req As System.Net.HttpWebRequest
                Dim resp As System.Net.HttpWebResponse

                Dim checked As Boolean

                If Left(UPIC_text.Text, 4) = "www." Then
                    UPIC_text.Text = "http://" + UPIC_text.Text
                End If

                If Not Uri.TryCreate(UPIC_text.Text, UriKind.Absolute, u) Then
                    Dim tmp As String = Request.Url.AbsoluteUri
                    If Request.QueryString.HasKeys Then
                        tmp = tmp.Replace(Request.QueryString.ToString, "")
                    End If
                    UPIC_text.Text = tmp.Substring(0, Request.Url.AbsoluteUri.LastIndexOf("/") + 1) + UPIC_text.Text
                End If

                Try
                    req = System.Net.HttpWebRequest.Create(UPIC_text.Text)
                    req.Method = "GET"
                    resp = req.GetResponse()
                    If resp.ContentType.ToString.IndexOf("image") = -1 Then
                        checked = False
                    Else
                        checked = True
                    End If
                Catch ex As Exception
                    checked = False
                End Try

                If Not checked Then
                    UPIC_IMG.ImageUrl = "images/Default_userpic.jpg"
                    Exit Sub
                End If


                UPIC_IMG.ImageUrl = UPIC_text.Text
                Session("TMP_UserPIC_L") = UPIC_text.Text
            End If


Может есть более простое решение? smile 

Зы. Млин! А вот никак нельзя сделать, чтобы можно было удалять тему которую создал если на неё нет ответов? Ато вродь как нашел решение - ценность его для всех нулевая а место занимет и время кто-то потратить может... Сорри! 8 )
 

Автор: ivashkanet 11.5.2006, 07:40
Цитата(JaguarSmith @  11.5.2006,  02:19 Найти цитируемый пост)
ценность его для всех нулевая

Почему нулевая  smile 
Может кому понадобится  smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)