Bilder auf Imagehoster hochladen

  • Hallo Leute,

    ich habe vor, verschiedene Bilder auf einen Imagehoster hochzuladen, vorzugsweise auf imagevenue.com.

    Da ich bisher mit den http und php-Sachen nichts gemacht hab, wollte ich die Profis mal fragen, wie ich an die Sache rangehen kann. FTP Upload hätte ich eher ungern.

    Danke in Voraus!

    Gruß Taek

  • Mit AutoIt kannst du Webseiten ansprechen, schau dir einfach mal die Funktionen von IE.au3 für Internet Explorer und FF.au3 für Firefox

  • Ich würde das über den IE machen, der FF wäre zwar auch ohne Probleme möglich, aber wenn ich das Script mal einem Bekannten gebe der keinen FF installiert hat ist das doch immer etwas doof (nix gegen FF alle meine Bekannten wurden auf FF geimpft ;) )

    So mal ein paar Überlegungen wie man vorgehen sollte bzw. was man sich überlegen muss:

    1. Wie über gebe ich die Bilder
    -> Über eine GUI
    -> Über eine Text Datei
    -> Sollen einfach alle Bilder eines Ordners hochbeladen werden

    2. Was mache ich mit der Antwort nach dem Upload
    -> In einer GUI zurück geben
    -> In einer Datei speichern
    -> Welche Links brauche ich eigentlich, gibt ja mehrere zurück

    3. Wie interagiere ich mit dem Benutzer
    -> Status was bereits hochbeladen wurde
    -> Status ob fertig oder nicht
    -> Was passiert grade aktuell

    Ich habe mir den Dienst imagevenue.com angeschaut, man kann ja 5 bzw. 10 Bilder über ein Formular hoch laden, was nicht das Problem ist, und man erhält verschiedene Links, die auch in einfach auszulesen sind. Also im Prinzip eine einfache und vor allem für Lehrzwecke schöne Aufgabe.

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Alsooo.....
    Ich hätte meinen Code soweit, dass es das Video hochlädt, den Link bekomme ich sicher auch noch. Gibt es eigentlich ne Möglichkeit das ganze versteckt zu machen?
    Wahrscheinlich muss ich dann andere Befehle als Send("TAB 13") oder ähnliches schreiben....
    Oder muss ich es mit offenem IE zwingend machen?

  • Hi,
    Ja wie gesagt, schau dir mal die ganzen _IE Befehle an. Du musst dann halt mit den Befehlen "klicken".
    Bei _IECreate kannst du $f_visible = 1 auf 0 ändern, dann ist das Fenster "unsichtbar" im Hintergrund.

  • Leider sind die ganzen _IE Befehle nur auf Englisch dokumentiert. Kann mir bitte jemand einen Beispiel-Code geben?
    Ich finde da echt nichts, was mich vorwärts bringen könnte.
    Bin jetzt auf https://autoit.de/www.picfront.org umgestiegen, weil dort Hotlinking erlaubt ist. :D

  • Ich komm einfach nicht zurecht... Ich hab mal nen Screenshot vom Info Window gemacht - wäre froh, wenn mir da jemand weiterhelfen könnte.

  • du brauchst:

    $o_form = _IEFormGetCollection ($oIE, 0)
    $o_image = _IEFormElementGetObjByName ($o_form, "image")
    _IEFormElementSetValue ($o_image, "dateipfad")
    _IEFormSubmit($o_form)

    damit solltest du weiterkommen

  • Hi,
    mit dem Window Info TOol wirst du nicht viel (eig. gar nix) anfangen können.
    Du musst wie gesagt alles mit den _IE Funktionen Regeln
    Z.B _IEFormSubmit submit benutzen um Sachen in Input-Boxen zu senden.Die Namen bekommst du aus dem Seitenquelltext.

  • @ leviathan: Danke für den Einstieg, aber so ganz klappt es noch nicht.
    Bei _IEFormSubmit($o_form) wird das Bild nicht hochgeladen.

    EDIT2:
    Habs jetzt doch mit sichtbarem Fenster gemacht, aber so ganz bin ich noch nicht am Ziel.

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    $oIE = _IECreate ("http://www.picfront.org")
    $o_form = _IEFormGetCollection ($oIE,0)
    $o_image = _IEFormElementGetObjByName ($o_form, "image")
    _IEAction ($o_image,"focus")
    Send("C:\[ Download ]\vids\test.jpg{ENTER}")
    _IELoadWait($oIE)
    Send("{TAB 13}")
    $link_pic = ClipGet()

    [/autoit]

    Wie komme ich an den Hotlink?

    Einmal editiert, zuletzt von Taek (4. August 2008 um 19:54)

  • bessere methode wäre es denke ich auf die grfik zu klicken das kannste mit

    _IEformimageclick machen

    und hier ist der link zu der grafik
    http://www.picfront.org/images/default/upload.png

    [autoit]

    #include <IE.au3>
    $oIE = _IECreate ("http://www.picfront.org")
    $o_form = _IEFormGetCollection ($oIE,0)
    $o_image = _IEFormElementGetObjByName ($o_form, "image")
    _IEAction ($o_image,"focus")
    Send("C:\[ Download ]\vids\test.jpg{ENTER}")
    _IELoadWait($oIE)
    _IEformimageclick($oIE, "http://www.picfront.org/images/default/upload.png")
    $link_pic = ClipGet()

    [/autoit]

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer