londondash Ответов: 1

Не удается получить picturebox для обновления с веб-сайта...


Всем привет и спасибо, что вы рассматриваете, чтобы помочь. то, что я пытаюсь сделать, - это использовать веб-браузер и webclient для отображения/загрузки изображений с дискогов. ниже приведены две ссылки на ссылку. я использую visual studios 2017. я новичок в программировании и не могу понять, почему я продолжаю получать ошибку 503. любая помощь в этом вопросе будет очень признательна... так что большое спасибо всем, кто мне помогает, вот вам образец моего источника...

... также извините за небрежное форматирование =[


Private Sub WebpageDocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
    'selected webbrowser tab
    WebBrowserTabControl.SelectedTab.Text = GetCurrentWebbrowser(WebBrowserTabControl).DocumentTitle

    For Each ele As HtmlElement In GetCurrentWebbrowser(WebBrowserTabControl).Document.Links
        Dim eletarget As String = ele.GetAttribute("href")
        '    LINKS-ListBox.Items.Add(eletarget) 'Adds the Links to the ListBox
    Next

    For Each ele As HtmlElement In GetCurrentWebbrowser(WebBrowserTabControl).Document.All
        'go through the web document and search for jpg images
        If ele.GetAttribute("src").ToLower.Contains(".jpg") Then
            Dim imgsrc As String = ele.GetAttribute("src")

            '    IMAGES-ListBox.Items.Add(imgsrc) 'Adds all .jpg images to the ListBox
            Try

                Dim newlibraryimg As New PictureBox
                With newlibraryimg
                    Dim tClient As WebClient = New WebClient
                    Dim tImage As Bitmap = Bitmap.FromStream(New MemoryStream(tClient.DownloadData(imgsrc)))
                    Console.WriteLine(imgsrc)
                    .BackColor = Color.Yellow
                    .SizeMode = PictureBoxSizeMode.Zoom
                    .Size = New Size(132, 76) '(130, 74)
                    libraryholder.Controls.Add(newlibraryimg)
                    'AddHandler newlibraryimg.MouseHover, AddressOf curover
                    'AddHandler newlibraryimg.Click, AddressOf curclick
                    'AddHandler newlibraryimg.MouseLeave, AddressOf curleave
                    .Show()
                End With
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If
    Next
End Sub


главная страница ресурса: Amr Diab - лучшее из Amr Diab (CD) на Discogs[^]

страница изображения: Картинки на АМР Диаб - самые лучшие Амр Диаб[^]

Что я уже пробовал:

i got this part working ok just not with discogs =[ i have tried many other ways but no luck.
things i have tried...

Private Sub LoadImageFromWeb(byval spath As String, byval pic As Object)
      Dim tClient As WebClient = New WebClient
      Dim tImage As Bitmap = Bitmap.FromStream(New MemoryStream(tClient.DownloadData(spath)))
      pic.Image = tImage
  End Sub

1 Ответов

Рейтинг:
9

F. Xaver

503-это служба HTTP Statuscode "недоступна"
вы отладили свой код?
является ли URL-адрес, который вы пытаетесь загрузить, правильным?
работает ли он в вашем браузере?

и
Элемент управления PictureBox может сам загружать изображения, без Неда для дополнительные (ненужные) вебклиент

pic.Load(spath)
'and 
pic.LoadAsync(spath)

прекрасно работать.