FTP - Server - Einstellung..?

  • Halloo,
    Ich hab mal wieder ne Frage, und wieder geht es um den FTP-Upload.
    Der Problem der Statusanzeige, also wie weit ein aktueller Upload ist,
    scheint am Server zu liegen.
    Denn:
    Test mit Ohost - Funktioniert
    Test mit unserm Server - Funktioniert nicht
    ;)
    Bei unserem Server scheint der die Datei erst als 'existierend' anzugeben, wenn sie
    komplett hochgeladen wurde... vorher gibt InetGetSize nur '0' aus, nach dem Upload direkt die
    ganze Dateigröße...
    weiß jemand, woran das liegt / wie man das ändert ?
    Wär recht cool ^^

    mfg limette =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

    Einmal editiert, zuletzt von limette (5. Juni 2008 um 19:54)

  • Es ist eine Bemerkung über "InetGetSize" werden kann die Quelle der Mühe:

    "Not all servers will correctly give the file size, especially when using a proxy server."

    Ihr Netzwerk durch einen Proxy?

  • Zitat


    Bei unserem Server scheint der die Datei erst als 'existierend' anzugeben, wenn sie
    komplett hochgeladen wurde... vorher gibt InetGetSize nur '0' aus, nach dem Upload direkt die
    ganze Dateigröße...


    Die Größe wird angegeben, aber erst nach dem Upload...
    Der Server erkennt also möglicherweise, ob die Datei gerade hochgeladen wird und ändert daher die Anzeige nicht.

  • Zu Percy -
    Nein, nix mit Proxy... und wie gesagt, bei Ohost funktioniert es ja ;)

    Zu Progandy -
    hab ich mir schon fast gedacht ;)
    Aber was muss man da umstellen... ?
    Denn ein Fortschrittsbalken macht nur Sinn, wenn man
    auch nen Fortschritt sehen kann x)

    mfg limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Das eröffnet natürlich ganz neue Perspektiven =)
    Ich werde mich da mal rein knien, vielen Dank ^^

    mfg, limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Ich muss ganz ehrlich sagen, dass ich im
    Gebiet von DllCalls etc noch keine Ahnung habe ^^

    Habe mich an der FtpOpenFile - Function mal versucht:

    [autoit]

    Local $ai_ftpopenfile = DllCall( 'wininet.dll', 'long', 'FtpOpenFile', 'long', $ai_InternetConnect[0], 'str', $file, 'long', 'GENERIC_WRITE', 'long', 0, 'long', 0 )
    If @error Or $ai_ftpopenfile[0] = 0 Then
    SetError(-3)
    Return 0
    EndIf

    [/autoit]


    $ai_InternetConnect[0] ist der Return von der ganz normalen FTPConnect -Function,
    $file der Dateiname...
    Leider gibt meine Funktion immer @error = -3 zurück, also passt irgendwas in dem
    DllCall nicht.
    Diesen ganzen 'long', 'dword', ..., Kram hab ich erst exact nach Angabe & AutoItHilfe probiert, als das nicht
    funktioniert hat hab ich das mit _FTPPutFile aus der FTP.au3 verglichen und entsprechend abgeändert
    (So wie hier vorliegend).
    Das passt aber immer noch nicht und ich habe nicht den blassesten Schimmer, woran es liegt ^^

    mfg limette

    Edit: hat sich erledigt. Hab 'GENERIC_WRITE' durch '0x4000000' oder so ersetzt - funktioniert ;)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

    Einmal editiert, zuletzt von limette (5. Juni 2008 um 19:54)

  • Die GENERIC_ sind Konstanten:

    Code
    Private Const GENERIC_EXECUTE As Long = 0x20000000
    Private Const GENERIC_READ As Long = 0x80000000
    Private Const GENERIC_WRITE As Long = 0x40000000
    Private Const GENERIC_ALL As Long = 0x10000000
  • Wenn man das nichts weiß und da nur 'GENERIC_WRITE' steht sieht man recht alt aus ;)
    Aber gut zu wissen, danke =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.