FTPLib 2.1.1.0

    • Release

    Es gibt 589 Antworten in diesem Thema. Der letzte Beitrag () ist von hitman48.

      VB.NET-Quellcode

      1. Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click
      2. ' Datei herunterladen
      3. locFTP.Download("/html/index2.html", "E:\index2.html")
      4. End Sub


      das ist der code des download buttons aus dem demo project aus deiner PM
      unter anwenudng dessen passiert garnix weder file konnte net gefunden werden noch download usw allerdings das verzeichnis auslesen geht d.h. zugangsdaten korrekt.
      und wo soll ich das nun auswählenmit file oder Folder?
      Also das ist schon mal falsch.

      VB.NET-Quellcode

      1. locFTP.Download("/html/index2.html", "E:\index2.html")


      Das muss so heißen

      VB.NET-Quellcode

      1. locFTP.Download("html/index2.html", "E:\index2.html")


      Und Ordner herunterladen geht so.

      VB.NET-Quellcode

      1. locFTP.Download("html", "E:\html")
      So die neue Version habe ich gerade veröffentlicht. Im Demoprogramm sieht man wie die FTPLib funktioniert. Im Event ProgressChanged gibt es nun 2 Arten von Eigenschaften einmal Single und einmal Total. Single steht für den aktuellen Download bzw. Upload und Total für den gesamten Download bzw. Upload. Hinter Single bzw. Total steht dann noch z.B. Size oder SizeLeft.

      Die neue Version kann nun auch Verzeichnisse hochladen und herunterladen.
      Soo also ;) Der Download funktioniert schonmal ;)

      Doch der Ordner Download iwie noch nicht .. und die Files kommen bei mir iwie fehlerhaft an .. exe dateien kann ich dannach nicht mehr öffnen ... wieso weshalb uach immre hat vielleicht da jemand einen rat?

      Im Testprogramm teste ich das erst morgen. Aufjedenfall geht weder bei mir ( bei mir im Programm) noch im Testprogramm die MSGBox, das der Download fertig ist noch die Progressbar. Eventueller Rat?

      mfg

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „B3zz0r“ ()

      Also hier von meinem eigenen Programm der Code:

      VB.NET-Quellcode

      1. Imports System.Data.SqlClient
      2. Imports FTPLib.FTPLib
      3. Public Class Routine
      4. Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Datenbank1.mdb")
      5. Dim cmd As New OleDb.OleDbCommand
      6. Dim reader As OleDb.OleDbDataReader
      7. Dim locFTP As New FTP("prinzenb3zz0r.pr.funpic.de", "***", "***", 21)
      8. Public Sub New()
      9. ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
      10. InitializeComponent()
      11. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
      12. AddHandler locFTP.Canceled, AddressOf FTP_Canceled
      13. AddHandler locFTP.Completed, AddressOf FTP_Completed
      14. AddHandler locFTP.ProgressChanged, AddressOf FTP_ProgressChanged
      15. End Sub
      16. Public Function CreateShortcut(ByVal sLinkFile As String, ByVal sTargetFile As String, Optional ByVal sArguments As String = "", Optional ByVal sDescription As String = "", Optional ByVal sWorkingDir As String = "") As Boolean
      17. Try
      18. Dim oShell As New Shell32.Shell
      19. Dim oFolder As Shell32.Folder
      20. Dim oLink As Shell32.ShellLinkObject
      21. ' Ordner und Dateinamen extrahieren
      22. Dim sPath As String = sLinkFile.Substring(0, sLinkFile.LastIndexOf("\"))
      23. Dim sFile As String = sLinkFile.Substring(sLinkFile.LastIndexOf("\") + 1)
      24. ' Wichtig! Link-Datei erstellen (0 Bytes)
      25. Dim F As Short = FreeFile()
      26. FileOpen(F, sLinkFile, OpenMode.Output)
      27. FileClose(F)
      28. oFolder = oShell.NameSpace(sPath)
      29. oLink = oFolder.Items.Item(sFile).GetLink
      30. ' Eigenschaften der Verknüpfung
      31. With oLink
      32. If sArguments.Length > 0 Then .Arguments = sArguments
      33. If sDescription.Length > 0 Then .Description = sDescription
      34. If sWorkingDir.Length > 0 Then .WorkingDirectory = sWorkingDir
      35. .Path = sTargetFile
      36. ' Verknüpfung speichern
      37. .Save()
      38. End With
      39. ' Objekte zerstören
      40. oLink = Nothing
      41. oFolder = Nothing
      42. oShell = Nothing
      43. Return True
      44. Catch ex As Exception
      45. ' Fehler! ggf. Link-Datei löschen, falls bereit erstellt
      46. If System.IO.File.Exists(sLinkFile) Then Kill(sLinkFile)
      47. Return False
      48. End Try
      49. End Function
      50. Private Sub Routine_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      51. locFTP.Connect()
      52. Update_Verfügbar.Close()
      53. If locFTP.IsConnected = True Then
      54. MsgBox("Connected")
      55. Else
      56. MsgBox("Nicht verbunden")
      57. End If
      58. locFTP.Download("Update/ChangeLog.txt", "C:\ChangeLog.txt")
      59. End Sub
      60. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      61. locFTP.Disconnect()
      62. Me.Hide()
      63. Fertig.Show()
      64. End Sub
      65. Private Sub FTP_Canceled(ByVal sender As Object, ByVal e As FTPCanceledEventArgs)
      66. MessageBox.Show("Der Download wurde abgebrochen.", "Download abgebrochen!", MessageBoxButtons.OK, MessageBoxIcon.Information)
      67. End Sub
      68. Private Sub FTP_Completed(ByVal sender As Object, ByVal e As FTPCompletedEventArgs)
      69. MessageBox.Show("Die Datei wurde erfolgreich heruntergeladen.", "Download erfolgreich", MessageBoxButtons.OK, MessageBoxIcon.Information)
      70. End Sub
      71. Private Sub FTP_ProgressChanged(ByVal sender As Object, ByVal e As FTPProgressChangedEventArgs)
      72. ' Fortschritt in einer Progressbar anzeigen
      73. ProgressBar1.Value = e.SinglePercent
      74. End Sub



      Hier ist das Problem, das die Progessbar noch nicht läuft da geh ich stark aber von noch fehlemden Code von mir aus, also das ich noch was vergessen habe. Und das wenn ich überhaupt etwas downloade kommt auch keine Meldung, dass der Download komplett ist.
      Außerdem werden bei mir die Dateien erst vom Programm frei gegeben, wenn das Programm beendet wird, nach 5 min für eine Exe die 600 kb groß ist habe ich das Programm manuell beendet, raus kam aber eine nicht funktionierende Exe-Datei, wo dann eine Fehldermeldung kommt " Keine zulässigie Win32 Anwednung.

      Bei Ordner hatte ich einfach Folgenden Code genommen

      VB.NET-Quellcode

      1. locftp.Download("Update", "C:\Update")


      Doch da ensteht auch nach 20 min Wartezeit und manueller beendigung des Programms kein Ordner.

      mfg
      Also ich habe die FTPLib auf mehreren FTP-Servern getestet und keine Probleme gehabt. Die Beta-Tester haben die neue Version auch getestet und hatten keine Probleme. Ich weiß nicht wo dein Problem ist und betreib nicht Copy & Paste. Die Demo Anwendung ist eigentlich dafür da um zu sehen, wie die Lib funktioniert und nicht alles eins zu eins rauskopieren
      Ja, da hats ja nun kein Unterschied wobei ich nicht mal Copy & Paste gemacht habe, sondern nur das mit der Progressbar und so übernommen habe da ich da noch nicht dahinter gekommen bin wann dadurch z.B. die MessageBox kommt. Darum gehts mir ja nur ich hab ja im gegensatz zum letzten mal keine Verbindungsprobleme mehr.
      Also an der Verbindungslogik wurde nichts geändert, es wurde lediglich der Part den du bei Connect angeben musstest in das New verschieben. Die MessageBox wird ausgelöst, wenn der Download komplett beendet ist und da läuft er auf jeden Fall rein.
      Tag die Herren :)

      so ich habe jetzt das problem meines downloads herausgefunden und zwar mag es der server nicht wenn man aus dem root verzeichniss downloaden will nun ist es aber so das ich wenn ich einen ganzen oirdner herunterlade die anzeige der progressbar bzw der restlichen anzeigennicht funktioniert. lade ich den inhalt eines ganzen ordners herunter springt die progressbar von einem wert zum anderen und auch mal "hoch" mal "runter". Die Prozent anzeige dahinter bleibt bei 0% stehen... der download an sich funtzt 100% so und nun schönen abend noch.

      VB.NET-Quellcode

      1. Imports FTPLib.FTPLib
      2. Public Class Form1
      3. Dim locFTP As New FTP("192.168.0.5", "xbox", "xbox", 21)
      4. Public Sub New()
      5. ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
      6. InitializeComponent()
      7. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
      8. AddHandler locFTP.Canceled, AddressOf FTP_Canceled
      9. AddHandler locFTP.Completed, AddressOf FTP_Completed
      10. AddHandler locFTP.ProgressChanged, AddressOf FTP_ProgressChanged
      11. End Sub
      12. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      13. ' Verbindung zum FTP-Server herstellen
      14. locFTP.Connect()
      15. If (locFTP.IsConnected = True) Then
      16. MessageBox.Show("Verbindung wurde hergestellt")
      17. End If
      18. End Sub
      19. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
      20. ' Beendet die Verbindung zum FTP-Server
      21. locFTP.Disconnect()
      22. End Sub
      23. Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click
      24. ' Datei herunterladen
      25. locFTP.Download("F/ftp_test", "E:\html")
      26. End Sub
      27. Private Sub FTP_Canceled(ByVal sender As Object, ByVal e As FTPCanceledEventArgs)
      28. MessageBox.Show("Der Download wurde abgebrochen.", "Download abgebrochen!", MessageBoxButtons.OK, MessageBoxIcon.Information)
      29. End Sub
      30. Private Sub FTP_Completed(ByVal sender As Object, ByVal e As FTPCompletedEventArgs)
      31. MessageBox.Show("Die Datei wurde erfolgreich heruntergeladen.", "Download erfolgreich", MessageBoxButtons.OK, MessageBoxIcon.Information)
      32. End Sub
      33. Private Sub FTP_ProgressChanged(ByVal sender As Object, ByVal e As FTPProgressChangedEventArgs)
      34. ' Fortschritt in einer Progressbar anzeigen
      35. Me.pbFortschritt.Value = e.TotalPercent
      36. ' Aktuellen Fortschritt anzeigen
      37. Me.lblPercent.Text = CStr(e.TotalPercent) & " %"
      38. ' Bereits heruntergeladene MBs anzeigen
      39. Me.lblSize.Text = CStr(Math.Round(((e.TotalSizeLeft / 1024) / 1024), 2)) & " MB von " & CStr(Math.Round(((e.TotalSize / 1024) / 1024), 2)) & " MB heruntergeladen."
      40. ' Vergangene Zeit anzeigen
      41. Me.lblTimeElapsed.Text = CStr(e.TotalTimeElapsed) & " vergangen"
      42. ' Verbleibende Zeit anzeigen
      43. Me.lblTimeLeft.Text = CStr(e.TotalTimeLeft) & " verbleibend"
      44. ' Geschwindigkeit anzeigen
      45. Me.lblBandwidth.Text = CStr(e.TotalBandwidth) & " KB/s"
      46. End Sub
      47. End Class


      PS: ich weis das dies das demo programm ist aber wenns damit schon net geht womit denn dann? auch bei Größeren dateien geht es leider nicht bzw die prozent hinter der bar bleiben immer 0.
      Richtig Schönes Teilchen. Hat mir sehr viel weiter geholfen.
      Bei mir funktioniert bedauerlicherweise nicht die progressbar in deinem beispeil projekt er zeigt mir keine fehler an aber leider wird kein fortschriss angezeigt