Ich biete euch ein kleines Library mit welchem man ohne große Probleme Bilder zu dem Imagehoster ImageShack.us hochladen kann.
Das Library unterstützt zwei Methoden des Uploads:
-Upload
-UploadAsync
Beim normalen Upload wird das Bild im gleichen Thread hochgeladen, was grade bei größeren Dateien dazu führen kann, dass die UI einfriert. Die Methode UploadAsync startet den Upload in einem neuen Thread und feuert das Event UploadImageComplete wenn das Bild vollständig hochgeladen wurde. In beiden fällen wird dem Benutzer nach dem hochladen ein Objekt vom Typ UploadResult zur Verfügung gestellt, was folgende Informationen beinhaltet:
Beispiel zum einfachen Upload
Beispiel zum asynchronen Upload
Alle Methoden habe ich zusätzlich Kommentiert (daher auch die XML-Datei im Archiv).
Habe es mehrfach getestet und konnte keine Fehler ausmachen, falls doch jemand einen Fehler findet, bitte melden :)
Download im Anhang.
Das Library unterstützt zwei Methoden des Uploads:
-Upload
-UploadAsync
Beim normalen Upload wird das Bild im gleichen Thread hochgeladen, was grade bei größeren Dateien dazu führen kann, dass die UI einfriert. Die Methode UploadAsync startet den Upload in einem neuen Thread und feuert das Event UploadImageComplete wenn das Bild vollständig hochgeladen wurde. In beiden fällen wird dem Benutzer nach dem hochladen ein Objekt vom Typ UploadResult zur Verfügung gestellt, was folgende Informationen beinhaltet:
- ImageURL - Der direktlink zum hochgeladenen Bild
- ThumbnailURL - Der link zum Thumbnail des hochgeladenen Bildes
- BB-Code - BB-Code zum direkten einfügen in einem Forenpost
- Resolution - Die Auflösung des hochgeladenen Bildes
- Filesize - Die Dateigröße des hochgeladenen Bildes
Beispiel zum einfachen Upload
VB.NET-Quellcode
- 'Erstelle neuen UploadClient
- Dim up_client As New ImageShackUpload.Client()
- 'Deklariere Rückgabeobjekt
- Dim Result As ImageShackUpload.UploadResult
- 'Bild hochladen und Rückgabeobjekt zuweisen
- Result = up_client.Upload("C:\MeineBilddatei.png")
- 'Jetzt kann mit Result.X auf alle Informationen zugegriffen werden die das Objekt bereitstellt
Beispiel zum asynchronen Upload
VB.NET-Quellcode
- 'Private, Formweite, instanz vom UploadClient erstellen
- Private WithEvents up_client As New ImageShackUpload.Client
- 'An einer beliebigen Stelle kann nun das Bild asynchron hochgeladen werden
- up_client.UploadAsync("C:\MeineBilddatei.png")
- Private Sub up_client_UploadImageComplete(ByVal sender As Object, ByVal e As ImageShackUpload.UploadImageCompleteEventArgs) Handles up_client.UploadImageComplete
- 'Dieses Event wird aufgerufen wenn das Bild erfolgreich hochgeladen wurde.
- 'Über e.Result.X kann auf alle Informationen zugegriffen werden, die das Objekt bereitstellt
- 'Achtung: In dieser Funktion kann nicht auf GUI-Elemente zugegriffen werden da sie sich noch
- 'in einem anderen Thread befindet. Dafür muss Form.Invoke() verwendet werden.
- End Sub
Alle Methoden habe ich zusätzlich Kommentiert (daher auch die XML-Datei im Archiv).
Habe es mehrfach getestet und konnte keine Fehler ausmachen, falls doch jemand einen Fehler findet, bitte melden :)
Download im Anhang.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Maximilian“ () aus folgendem Grund: Update