Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB2005, VB2008, VB2010 | 13.05.11 |
Ftp Upload mit Fortschrittsanzeige Hier ist eine nette Funktion zum Uploaden einer Datei auf einen FTP. Das ganze ist mit einer Progressbar gekoppelt. | ||
Autor: Grek Koch | Bewertung: | Views: 19.259 |
www.vb-future.net | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Im nachfolgenden finden Sie eine kleine Funktion, mit der sich über die WebClient-Klasse eine Datei auf einen FTP-Server uploaden lässt. Der Upload erfogt hierbei asynchron. Außerdem kann man bei Bedarf den Fortschritt mit Hilfe einer ProgressBar anzeigen.
Imports System.Net ...
Dim WithEvents Upload As Net.WebClient
''' <summary> ''' Upload einer Datei mit Fortschrittsanzeige ''' </summary> ''' <param name="Datei">Lokaler Dateiname</param> ''' <param name="Dateiname">Zieldateiname</param> ''' <param name="Ftp">FTP-Server</param> ''' <param name="Benutzername">Benuterzname für die Anmeldung</param> ''' <param name="Passwort">Kennwort für die Anmeldung</param> Private Sub UploadFTP(ByVal Datei As String, _ ByVal Dateiname As String, _ ByVal Ftp As String, _ ByVal Benutzername As String, _ ByVal Passwort As String) ' WebClient Upload = New Net.WebClient ' URL mit Zieldatei Dim url As String = Ftp & IIf(Ftp.EndsWith("/"), "", "/") & Dateiname ' Anmeldedaten am FTP-Server Upload.Credentials = New Net.NetworkCredential(Benutzername, Passwort) ' Datei asnychron uploaden Upload.UploadFileAsync(New Uri(url), Datei) End Sub
Private Sub Upload_UploadFileCompleted(ByVal sender As Object, _ ByVal e As System.Net.UploadFileCompletedEventArgs) Handles Upload.UploadFileCompleted ' Upload beenden MsgBox("Upload-Vorgang ordnungsgemäß beendet!", MsgBoxStyle.Information) ProgressBar1.Visible = False lblProgress.Visible = False End Sub
Private Sub Upload_UploadProgressChanged(ByVal sender As Object, _ ByVal e As System.Net.UploadProgressChangedEventArgs) Handles Upload.UploadProgressChanged ProgressBar1.Value = e.ProgressPercentage ProgressBar1.Refresh() lblProgress.Text = "Upload" & " - " & e.ProgressPercentage & "% hochgeladen!" End Sub
Vorgang starten:
ProgressBar1.Value = 0 lblProgress.Text = "" ProgressBar1.Visible = True Label10.Visible = True Dim sFile As String = "d:\MyFiles\Test_Upload.zip" Dim sDestFile As String = "Test_Upload.zip" Dim sServer As String = "ftp://MyServer.de" Dim sUser As String = "Username" Dim sPwd As String = "Pwd" UploadFTP(sFile, sDestFile, sServer, sUser, sPwd)