vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE   |   VB-Versionen: VB2005, VB2008, VB201013.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 KochBewertung:     [ Jetzt bewerten ]Views:  19.201 
www.vb-future.netSystem:  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)