Wie lade ich ein Image *.JPG von einer Website mit VB.Net

ChrisNa

Grünschnabel
Hi Leute,

ich schätze ich habe ein relativ simples Problem.

Ich habe mit AxWebBrowser1 eine Website geladen z.B. "http://www.acsany.de/bilder/scribbles/maus.jpg".

Folgenden Declarationen habe ich auch gemacht:
Dim MyDoc As mshtml.IHTMLDocument2
Dim all As mshtml.IHTMLElementCollection
Dim elm As mshtml.IHTMLElement

Wie kann ich die JPG-Datei in eine Picturebox und zusätzlich in eine Access-DB laden/speichern.

Ich hab schon gegoogelt und auch hier konnte ich nichts Passendes finden.

Wer kann helfen.

Gruß und Danke
Chris
 
Hi Alex,

ich würde deinen Vorschlag ja gern ausprobieren aber ich scheitere schon daran, dass ich nicht weiß, wie ich die System.Net Klasse einbinde. Bei Verweis hinzufügen wird mir diese nicht angeboten oder welche Datei müßte ich mittels "Durchsuchen" einbinden und wo finde ich diese.

Inherit ist wohl auch nicht die richtige Methode, da ich schon ein Inherit in der Klasse habe und mehr nicht erlaubt sind. ;-(

Hast du evtl. irgendwo ein Stükchen Beispiel-Code?

Gruß
Chris
 
Öhm.
Hier nochmal das Beispiel aus der MSDN, welches auf der verlinkten Seite ist.
Verweis auf ein Assembly brauchst nicht. Steht auch am Ende der Seite.
Anforderungen
Namespace: System.Net
...
Assembly: System (in der Datei System.dll)

Kannst die Klasse direkt mit System.Net.WebClient benutzen, oder du bindest den System.Net Namespace mittels using ein, und kannst einfach den Klassennamen ohne Namespace benutzen.

Code:
using System;
using System.Net;
using System.IO;

public class Test
{
    public static void Main (string[] args)
    {
        if (args == null || args.Length == 0)
        {
            throw new ApplicationException ("Specify the URI of the resource to retrieve.");
        }
        WebClient client = new WebClient ();

        // Add a user agent header in case the 
        // requested URI contains a query.

        client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

        Stream data = client.OpenRead (args[0]);
        StreamReader reader = new StreamReader (data);
        string s = reader.ReadToEnd ();
        Console.WriteLine (s);
        data.Close ();
        reader.Close ();
    }
}
 
Hi Alex,

danke für den Tipp.

Ich kriegs aber immer noch nicht ganz hin. Ich hb da jetzt die Grafik in dem Stream bzw. in der String-Variablen. Kann ich eigentlich sicher sein, dass die komplett eingelesen ist? Wie bekomm ich denn jetzt das JPG ind die Picturebox (pib1) ? Da bekomme ich eine Konvertierungs-Fehlermeldung. Hier ist der Code:

Code:
   Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim myClient As New System.Net.WebClient
        Dim myURI As String
        myURI = "http://www.acsany.de/bilder/scribbles/maus.jpg"
        myClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")

        Dim data As System.IO.Stream = myClient.OpenRead(myURI)
        Dim reader As New System.IO.StreamReader(data)
        Dim s As String = reader.ReadToEnd()
        Console.WriteLine(s)

        pib1.Image = s

        data.Close()
        reader.Close()

    End Sub
 
Hi.

Warum benutzt du da einen String!?

Probier mal statt
Code:
        Dim data As System.IO.Stream = myClient.OpenRead(myURI)
        Dim reader As New System.IO.StreamReader(data)
        Dim s As String = reader.ReadToEnd()
        Console.WriteLine(s)

        pib1.Image = s

dieses hier

Code:
        Dim data As System.IO.Stream = myClient.OpenRead(myURI)
        pib1.Image = Image.FromStream(data)
 
Hi Alex,

genau das war der Rest den ich noch brauchte. Jetzt klappt's.

Ich poste hier mal den kompletten Code, für den der`s braucht.

Danke und Gruß
Chris

Code:
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim myClient As New System.Net.WebClient
        Dim myURI As String
        myURI = "http://www.acsany.de/bilder/scribbles/maus.jpg"
        Dim data As System.IO.Stream = myClient.OpenRead(myURI)
        pib1.Image = Image.FromStream(data)
        data.Close()

    End Sub
 

Neue Beiträge

Zurück