IMG-UP.net Pic uploader

    • Offizieller Beitrag

    Hallo

    Ich lade sehr oft Bilder bei IMG-UP.net (geht schneller als Imageshack^^) hoch. Problem ist, dass ich immer erst Firefox starten muss, dann Lesezeichen -> IMG-UP.net dann Datei eintippen, blablabla.
    Also hab ich mir gedacht, Hey, lass mich das mal Automatiesieren.

    Das is dabei herausgekommen, nichts überwältigendes, aber wie ich finde etwas Praktisches:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=fav.ico
    #AutoIt3Wrapper_outfile=IMG-UPLoader.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_UseAnsi=y
    #AutoIt3Wrapper_Res_Fileversion=1.5.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=GtaSpider [gtaspider@gmx.de]
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;VERSION 1.5
    ;IMG-UPLoader - Using http://www.img-up.net/LupiLoad
    ;Script by GtaSpider!
    ;You can share this Freeware, but you must share it 100% for Free.
    ;If you want to change the Sourcecode, please ask me (GtaSpider) at http://www.autoit.de or by E-Mail: [email='gtaspider@gmx.de'][/email]

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    ;Includes
    #include<IE.au3>
    #include<String.au3>
    #include<WindowsConstants.au3>
    #include<GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $Uploader = InputBox("", "Wähle dein Uploader" & @CRLF & "1=LupiUpload.de" & @CRLF & "0=IMG-UP.net") ;1=LupiUpload, 0=IMG-UP.net
    TraySetToolTip("Initalizing...")
    Switch $Uploader
    Case 0
    $sURL = "http://www.img-up.net/?html"
    Case 1
    $sURL = "http://www.lupiupload.de/index.php?up=1"
    Case Else
    Exit MsgBox(16, "", "Wrong Param-EXIT")
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    ;Opts & Globals
    Opt("WinTitleMatchMode", 4)
    $taskbar_pos = WinGetPos("classname=Shell_TrayWnd")
    $taskbar_pos = $taskbar_pos[3]
    Opt("TrayOnEventMode", 1)
    Opt("TrayAutoPause", 0)
    TraySetClick(8)
    Global $oIE = _IECreate($sURL, 0, 0, 0)
    Global $prg, $lb
    Opt("WinTitleMatchMode", 1)
    TraySetState()
    TraySetToolTip("Image Uploader - By GtaSpider")

    [/autoit] [autoit][/autoit] [autoit]

    ;Gui/Tray
    GUICreate("", 200, 25, @DesktopWidth - 200, @DesktopHeight - ($taskbar_pos + 25), $WS_POPUP, $WS_EX_TOPMOST + $WS_EX_TOOLWINDOW)
    $prg = GUICtrlCreateProgress(0, 0, 200, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $lb = GUICtrlCreateLabel("", 90, 5, 20, 25)
    GUICtrlSetBkColor(-1, -2)
    TraySetOnEvent(-13, "_OnClick")

    [/autoit] [autoit][/autoit] [autoit]

    ;While
    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;Functions
    Func _OnClick()
    ;Doubleclick on Tray
    Local $sSupportedFiles, $sRet, $sFod
    GUICtrlSetData($prg, 0)
    GUICtrlSetData($lb, "0%")
    GUISetState()
    _IELoadWait($oIE)
    Do
    $sSupportedFiles = _GetSuppFiles()
    If Not @error Then ExitLoop
    Until 1
    $sSupportedFiles = StringReplace($sSupportedFiles, " ", '')
    $sSupportedFiles = "*." & StringReplace($sSupportedFiles, "|", ';*.')
    GUICtrlSetData($prg, 5)
    GUICtrlSetData($lb, "5%")
    $sFod = FileOpenDialog("Bild zum Uploaden", "", "Bilddateien (" & $sSupportedFiles & ")")
    If @error Then Return GUISetState(@SW_HIDE) * 0
    $sRet = String(_UploadImage($sFod))
    If $sRet = '0' Then
    TrayTip("Fehler", "Es gab ein Problem beim Upload. Probieren Sie den Vorgang nochmal aus" & @CRLF & "Wenn es nichts hilft, wenden Sie sich bitte GtaSpider.", 2, 2)
    Beep(100, 100)
    Else
    TrayTip("Upload Complete - By GtaSpider", "Die Datei wurde erfolgreich auf " & $sURL & " geladen." & @CRLF & "Der Link befindet sich in der Zwischenablage" & @CRLF & $sRet, 1, 1)
    ClipPut($sRet)
    Beep(300, 100)
    EndIf
    _IENavigate($oIE, $sURL)
    GUISetState(@SW_HIDE)
    EndFunc ;==>_OnClick

    [/autoit] [autoit][/autoit] [autoit]

    Func _UploadImage($sImage)
    ;Upload the Image
    Local $oForm, $oInputFile, $hIE, $oLink, $aSupportedFiles, $sExt, $iExtSup = False, $i, $sRet
    If Not FileExists($sImage) Then Return MsgBox(48, "Warnung", 'Die Datei existiert nicht! Upload abgebrochen.') * 0
    GUICtrlSetData($prg, 15)
    GUICtrlSetData($lb, "15%")
    $sSupportedFiles = _GetSuppFiles()
    If @error Then Return MsgBox(16, "Error", "Fehler beim lesen der Dateitypen.") * 0
    GUICtrlSetData($prg, 30)
    GUICtrlSetData($lb, "30%")
    $aSupportedFiles = StringSplit(StringReplace($sSupportedFiles, " ", ""), "|")
    $sExt = StringTrimLeft($sImage, StringInStr($sImage, ".", 0, -1))
    For $i = 1 To $aSupportedFiles[0]
    If $sExt = $aSupportedFiles[$i] Then
    $iExtSup = True
    ExitLoop
    EndIf
    Next
    If Not $iExtSup Then Return MsgBox(48, "Warnung", 'Der Dateityp "' & $sExt & '" wird nicht unterstüzt! Upload abgebrochen.') * 0
    GUICtrlSetData($prg, 50)
    GUICtrlSetData($lb, "50%")
    If $Uploader = 0 Then
    $oForm = _IEFormGetObjByName($oIE, "imgup")
    $oInputFile = _IEFormElementGetObjByName($oForm, "filedata")
    ElseIf $Uploader = 1 Then
    $oForm = _IEFormGetObjByName($oIE, "upload")
    $oInputFile = _IEFormElementGetObjByName($oForm, "file_1")
    EndIf
    GUICtrlSetData($prg, 60)
    GUICtrlSetData($lb, "60%")
    _IEAction($oInputFile, "focus")
    $hIE = _IEPropertyGet($oIE, "hwnd")
    GUICtrlSetData($prg, 70)
    GUICtrlSetData($lb, "70%")
    ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $sImage)
    GUICtrlSetData($prg, 85)
    GUICtrlSetData($lb, "85%")
    If $Uploader = 0 Then
    _IENavigate($oIE, 'javascript:uploadsubmit()')
    ElseIf $Uploader = 1 Then

    [/autoit] [autoit][/autoit] [autoit]

    $oElem = _IEFormElementGetObjByName($oForm, "senden")
    _IEAction($oElem, "click")
    ;~ _IEImgClick($oIE,"http://lupiupload.de/images/Button1.jpg")
    ;~ _IELinkClickByIndex
    ;~ _IEFormSubmit($oForm)
    ;~ _IENavigate($oIE,'javascript:startUpload()')
    EndIf
    GUICtrlSetData($prg, 95)
    GUICtrlSetData($lb, "95%")
    If $Uploader = 0 Then
    $oForm = _IEFormGetObjByName($oIE, "links")
    $oLink = _IEFormElementGetObjByName($oForm, 'normal')
    $sRet = _IEFormElementGetValue($oLink)
    ElseIf $Uploader = 1 Then
    _IELoadWait($oIE)
    $sRet = _StringBetween(_IEBodyReadHTML($oIE), '<P><SPAN class=Stil15><SPAN class=Stil16>Link zum Bild: <A href="', '" target=_blank>')
    If Not IsArray($sRet) Then Return MsgBox(16, "", "Link nicht gefunden auf " & $sURL) * 0
    $sRet = $sRet[0]
    EndIf

    GUICtrlSetData($prg, 100)
    GUICtrlSetData($lb, "100%")
    Return $sRet
    EndFunc ;==>_UploadImage

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetSuppFiles()
    Local $sRet, $sSource = _IEBodyReadHTML($oIE)
    If $Uploader = 0 Then
    $sRet = _StringBetween($sSource, '<DIV class=bolded style="PADDING-TOP: 20px">', '</DIV>')
    If Not IsArray($sRet) Then Return SetError(1, 0, "*")
    $sRet = $sRet[0]
    Else
    $sRet = _StringBetween($sSource, "Dateitypen:</DIV></TD>" & @CRLF & '<TD class=main height=30>' & @CRLF & '<DIV align=left>', '</DIV></TD></TR>')
    If Not IsArray($sRet) Then Return SetError(1, 1, "*")
    $sRet = StringUpper(StringReplace($sRet[0], ",", " |"))
    EndIf
    Return $sRet
    EndFunc ;==>_GetSuppFiles

    [/autoit]

    Benutzung:
    Sehr Simpel, einfach das Skript starten, und dann ggf Doppelklick auf das Trayicon machen.
    Wenn du ein Doppelklick gemacht hast, öffnet sich der Standard FileOpenDialog. Einfach Bild auswählen und auf Öffnen klicken. Den Rest macht er automatisch.
    Zum Schluss steht wenn alles geklappt hat unten "Upload Complete". Dann wurde der IMG-UP link in die Zwischenablage gespeichert.

    Rechtliches:
    Ihr dürft das Programm gerne weitergeben, dann aber halt mit Verweis auf diesen Post/auf mich.
    Wenn ihr den Sourcecode ändern wollt, und dass Skript dann weitergeben wollt (eigene Nutzung ist mir natürlich egal^^) fragt mich bitte vohrer per PM oder E-Mail um Erlaubnis.
    Von der Seite von IMG-UP gibt es in den AGB's auch nichts, was dieses Skript nicht tollerieren würde

    Im Anhang nochmal die Kompelierte EXE mit Icon.

    Mfg Spider

    Edit: Version 1.5 rausgebracht (Mehr Infos)

  • Hi,

    also bei mir funktioniert es leider nicht :(
    Ich mache Doppelklick auf das TrayIcon, dann erscheint aber kein FileOpenDialog sondern sofort die Uploadleiste, sie wird auf 5% gesetzt.
    Dann endet das Skript sofort mit einem fatalem Fehler in Line 56, Subscript used with non-Array variable.
    Was mache ich falsch? ;) Ich compile mit beta.

    greetz

  • Man könnte ja als zweite Möglichkeit LupiUpload benutzen (Lieblingsuploader von praktisch allen auf RCT-World)

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • cooles tool. was auch ganz nützlich wäre, wenn man über senden an im kontextmenü dateien an das tool schicken kann.