vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
FTP-Upload gigantisch langsam, .... 
Autor: Bobbel
Datum: 15.03.12 09:46

Hallo,

Basis ist der "FTP-Workshop Teil 2" / Upload Routinen.
Leicht modifiziert mit einer Schleife um Dateien upzuloaden.
Alle anderen benötigten Routinen für den "FTP-Workshop Teil 2" sind unverändert und original.

Private Sub Command6_Click()
 
Dim LocalFile As Long   'Locale Variable aus cmdUpload
Dim ServerFile As Long  'Locale Variable aus cmdUpload
Dim TmpResult As Long   'Locale Variable aus cmdUpload
Dim test As String
Dim txtWebpfad As String
Dim zaehler As Integer
 
Screen.MousePointer = vbHourglass
 
If txtHost > "" And txtUser > "" And txtKennwort > "" Then
   frmFTP_Upload.Enabled = False  ' FTP Upload deaktiviert
        Command2.Enabled = False  ' Schliessen Button deaktiviert
        Command6.Enabled = False  ' Verbinden Button deaktiviert
 
    'HTML-Seiten neu erstellen
    AddStatus "HTML-Seiten werden vorbereitet, ..."
 
    Delay (0.101)
 
    'Aufruf zur HTML-Seiten erstellung !
    make_html_button_Click  ' Seiten erstellen
 
    AddStatus txtStatus & vbCrLf & "HTML-Seiten wurden erstellt, ..."
 
   '### Begin Datei Schleife FTP-Upload
 
    If FileExists(App.Path & "\export\" & "WebSeiten.txt") = True Then
       AddStatus "Indexdatei wird vorbereitet, ..."
       txtDatListe = txt_ReadAll(App.Path & "\export\" & "WebSeiten.txt")
 
           ' Verbinden per FTP zum Server aufbauen
              If Connect(txtHost.Text, txtPort, _
                txtUser.Text, txtKennwort.Text) Then
                Verbindung = True
              Else
                Verbindung = False
              End If
 
             If Verbindung = True Then
 
             '### Datei Laden und Zeileneinträge zählen / zu testzwecken 
             ' eingefügt !
             'Einträge ermittel für die Schleife
                 Dim H As Integer
                 Dim s_Line As String
                 Dim nCount As Long
                 Dim s_File As String
                 Dim test_local As String
                 Dim test_server As String
 
                 'Datei die alle Webseiten die erstellt wurden beinhaltet
                  s_File = (App.Path & "\export\" & "WebSeiten.txt")  
 
                 'Datei sequentiell öffnen und zeilenweise auslesen
                  H = FreeFile
                  Open s_File For Input As #H
                  While Not EOF(H)
                   Line Input #H, s_Line
                   nCount = nCount + 1
                  Wend
                  Close #H
 
             'Schleife vorbereiten -> 1. Zeile in der Datei überspringen / Datum
              zaehler = 2
              Do Until zaehler > nCount
              s_Line = txt_ReadLine(s_File, zaehler)
 
              'Eintrage mit Schleife verbinden
 
               LocalFile = GetLocalFileSize(App.Path & s_Line)
               ServerFile = GetFileSize(Replace(txtServerpfad & Replace(s_Line, _
                 "\", "/"), "//", "/"))
               test_local = (App.Path & s_Line)
               test_server = (Replace(txtServerpfad & Replace(s_Line, "\", _
                 "/"), "//", "/"))
 
               UploadFile (App.Path & s_Line), (Replace(txtServerpfad & Replace( _
                 s_Line, "\", "/"), "//", "/"))
              zaehler = zaehler + 1
              Loop
 
        '### Ende Datei Schleife FTP-Upload
 
        cmdDisconnect_Click
        MsgBox "Ihre HTML-Seiten wurden erfogreich auf den Server übetragen.", _
          vbInformation, "Information"
 
     End If
        ' Aktuelle Verbindungsdaten speichern
        test = date & " / " & Time
        WritePrivateProfileString "Webserver", "Datum", test, (App.Path & "\" & _
          App.EXEName & ".ini")
 
        Command2.Enabled = True ' "Schliessen" Button aktivieren
        Command6.Enabled = True ' Webserver Button "Verbinden" wieder aktivieren
    End If
 
    frmFTP_Upload.Enabled = True
 
    If FileExists(App.Path & "\export\" & "Fahrzeuge.html") = True And _
      Verbindung = True Then
       Command2_Click  ' Fenster automatisch schliessen bei Erfolg
     End If
    'Dein Connection Code
    txtServerpfad = ""
    Screen.MousePointer = vbNormal
  Else
   MsgBox "Bitte korrigieren Sie Ihre Zugangsdaten !"
   txtUser = ""
   txtKennwort = ""
   txtKennwort.TabIndex = 15  '
   Screen.MousePointer = vbNormal
  End If
End Sub
Leider benötig diese Routine bei mir, für 12 Dateien mit insgesamt 547kb, geschlagene 15 Minuten bis diese per FTP auf dem Server sind. Mit dem wsFTP_Pro braucht das ganze schlappe 12 Sekunden.

1. Woran könnte das liegen ?
2. Ist die Vorgehensweise eventuell falsch und es gibt einfachere, schnellere Lösungen dafür ?

Bin für jede Idee, Tipps oder auch simple Code-Beispiele dankbar, ....

Gruss
Bobbel

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
FTP-Upload gigantisch langsam, ....1.159Bobbel15.03.12 09:46
Re: FTP-Upload gigantisch langsam, ....660sv0001017.03.12 07:31
Re: FTP-Upload gigantisch langsam, ....656Bobbel17.03.12 21:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel