Ftp - Bild in Picturebox laden

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von schnibli.

    Ftp - Bild in Picturebox laden

    Hallo, ich habe ein kleines Problem,

    ich lade ein Bild in eine Picturebox, dies Funktioniert soweit:

    VB.NET-Quellcode

    1. Dim wr As WebRequest = WebRequest.Create( _
    2. "ftp://" & serv_ip.Text & "/media/Programm/Bilder/" & List_Blueray.SelectedItem & ".jpg") = ""
    3. Dim credits As New NetworkCredential(username.Text, password.Text)
    4. DirectCast(wr, FtpWebRequest).Credentials = credits
    5. Using resp = wr.GetResponse(), _
    6. strm = resp.GetResponseStream, img = Image.FromStream(strm)
    7. PictureBox1.Image = New Bitmap(img)End Using


    Nun habe ich das Problem, wenn das Bild nicht existiert, stürzt das Programm ab,
    Kann mir jemand helfen? :)

    gruss
    Das war auch mein vorhaben aber mit dem if isnothing() steh ich gerade auf der leitung xD

    VB.NET-Quellcode

    1. If img Is Nothing ThenElse PictureBox1.Image = New Bitmap(img)
    2. End If



    das war mein versuch xD
    Ich würde dir es so empfehlen:

    VB.NET-Quellcode

    1. If img IsNot Nothing Then PictureBox1.Image = img


    Aber ich hätte es generell so gelöst:

    VB.NET-Quellcode

    1. ...
    2. If img Is Nothing Then Exit Sub
    3. PictureBox1.Image = img


    Falls das nicht funktioniert...was für eine Exception tritt denn bei dir auf wenn du das Bitmap-Objekt nicht prüfst?

    MfG

    schnibli schrieb:

    iiLaaf schrieb:

    If img IsNot Nothing Then PictureBox1.Image = img
    Folgender Fehler titt auf:

    Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar (z.B. nicht gefunden oder kein Zugriff).


    und zwar bei:
    Using resp = wr.GetResponse(), _


    Dann hat das aber nichts mit meinem Code zu tun.

    Probier mal dies hier:

    VB.NET-Quellcode

    1. Dim wr As WebRequest = WebRequest.Create("ftp://" & serv_ip.Text & "/media/Programm/Bilder/" & List_Blueray.SelectedItem.ToString & ".jpg")
    2. Dim credits As New NetworkCredential(username.Text, password.Text)
    3. DirectCast(wr, FtpWebRequest).Credentials = credits
    4. Try
    5. Using resp = wr.GetResponse(), strm = resp.GetResponseStream, img = Image.FromStream(strm)
    6. PictureBox1.Image = New Bitmap(img)
    7. End Using
    8. Catch ex As ArgumentException
    9. MessageBox.Show("Das Bild ist nicht verfügbar")
    10. Catch ex As Exception
    11. MessageBox.Show("Unbekannter Fehler")
    12. End Try