none
Dateien in ein Projekt einbinden RRS feed

  • Frage

  • Hallo Leute,

    ich möchte eine Anwendung erstellen welche Dateien auf einen FTP Server hochlädt.
    Das mit dem hochladen einzelner Dateien, die der Benutzer selbst auswählen kann, klappt auch ganz gut.

    Nun möchte ich aber eine komplette Ordnerstruktur (rekursiv) dem Projekt hinzufügen.
    Diese Dateien sollten dann hochgeladen werden, ohne das der Benutzer eine AUswahlmöglichkeit hat.

    Und genau damit habe ich Probleme.

    Hat jemand einen Ansatz dazu, wie man eine komplette Ordnerstruktur einbinden kann und diese dann zum Upload auswählen kann?

    Gruss

    Samstag, 27. November 2010 08:22

Alle Antworten

  • Hallo xtramen,

    welches Problem hast du damit genau? So wie ich dich verstanden habe, soll der Benutzer nur den Ordner auswählen können. Ist das Problem das UI, die Rekursion, das kopieren/hochladen der Ordner/Dateien? Beschreibe mal dein Problem bitte genauer.

     

    Viele Grüße

    Holger M. Rößler

    Samstag, 27. November 2010 08:35
  • Hi,

    also der Benutzer sollte nichts auswählen können (Bisher kann er es).
    Ich möchte eine Software auf Basis von PHP als Ordner einbinden. Also direkt in die EXE Datei (Falls das geht). Wenn der Benutzer nun die EXE Datei auf seinem PC hat und anklickt dann soll er lediglich seine FTP Zugangsdaten eingeben müssen und die eingebundenen Dateien werden dann hochgeladen.

    Wie gesagt das mit dem Hochladen einer einzelnen Datei (Ohne Rekursion)  klappt auch.

     Private Sub cmdFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFile.Click
        ' Wir Deklairen opn als neuen Openfiledialog
        Dim opn As New OpenFileDialog
        With opn
          ' Wir setzen den Filter auf Alle Dateien um alle Dateien auf den FTP Server hochzuladen
          .Filter = "Alle Dateien (*.*) | *.*"
          ' Der Filename soll zuerst im Dialog "Datei.." lauten
          .FileName = "Datei..."
          ' Der Titel des Dialoges soll "Bitte wählen sie eine Datei aus..." lauten
          .Title = "Bitte wählen sie eine Datei aus..."
          ' Wenn Alles Ok ist soll (siehe unten)
          If .ShowDialog = Windows.Forms.DialogResult.OK Then
            ' In der txtFile der Filename der Ausgewählten Datei stehen
            txtFile.Text = .FileName
          End If
        End With
      End Sub
     

    Ich habe nun ein Problem zum einen mit der Rekursion und zum anderen, wie man überhaupt einen ganzen Ordner samt Unterordner in ein Projekt einbindet und es als eine einzige Anwendung veröffentlicht.

    Bin noch sehr jungfräulich im Umgang mit VB. Komme aus dem PHP Sektor.

     

    Gruß und Danke

    • Bearbeitet xtramen Samstag, 27. November 2010 08:53 vertippt
    Samstag, 27. November 2010 08:52
  • Hallo xtramen,

    ein komplettes Verzeichnis lässt sich afaik nicht direkt in ein Projekt einbetten. Dies würde ich über den Installier lösen, der das komplette Verzeichnis während der Installation auf den Zielrechner kopiert.

    Zur Rekursion:

    Kein Beispiel von mir, sondern aus den MSDN: (http://msdn.microsoft.com/de-de/library/system.io.directoryinfo.aspx)

    Imports System
    Imports System.IO
    
    Class CopyDir
      Shared Sub Copy(ByVal sourceDirectory As String, ByVal targetDirectory As String)
        Dim diSource As DirectoryInfo = New DirectoryInfo(sourceDirectory)
        Dim diTarget As DirectoryInfo = New DirectoryInfo(targetDirectory)
    
        CopyAll(diSource, diTarget)
      End Sub
    
      Shared Sub CopyAll(ByVal source As DirectoryInfo, ByVal target As DirectoryInfo)
    
        ' Check if the target directory exists, if not, create it.
        If Directory.Exists(target.FullName) = False Then
          Directory.CreateDirectory(target.FullName)
        End If
    
        ' Copy each file into it's new directory.
        For Each fi As FileInfo In source.GetFiles()
          Console.WriteLine("Copying {0}\{1}", target.FullName, fi.Name)
          fi.CopyTo(Path.Combine(target.ToString(), fi.Name), True)
        Next
    
        ' Copy each subdirectory using recursion.
        For Each diSourceSubDir As DirectoryInfo In source.GetDirectories()
          Dim nextTargetSubDir As DirectoryInfo = target.CreateSubdirectory(diSourceSubDir.Name)
          CopyAll(diSourceSubDir, nextTargetSubDir)
        Next
      End Sub
    
      Shared Sub Main()
        Dim sourceDirectory As String = "c:\\sourceDirectory"
        Dim targetDirectory As String = "c:\\targetDirectory"
    
        Copy(sourceDirectory, targetDirectory)
      End Sub
      ' Output will vary based on the contents of the source directory.
    End Class
    

     Ich hoffe, das hilft dir weiter. Ansonste frage bitte gezielt nach...

    Viele Grüße

    Holger M. Rößler

    Samstag, 27. November 2010 09:26
  • OK Danke erstmal für die Info.

    Dann kommt mir eine andere Idee.
    Könnte man es dann so lösen, das die Dateien von meinem Server in ein temporäres Verzeichnis(Beim Benutzer) geladen werden...darauf könnte ich ja dann von meinem Upload Script zugreifen?!

    Ich denke das bekomme ich raus.

    Nur dann bleibt noch das Problem wie ich, das komplette Verzeichnis (rekursiv) Uploade. Mit PHP wüsste ich es :-)
    Die Variable momentan wäre dafür:

    DateiNameAufPC
    

     

    Momentan sieht der Upload so aus:

    Private Sub cmdUpload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUpload.Click
        ' Wenn die Textboxen (txtServer,txtUser,txtPass,txtFile,txtFileFTPName leer sind , dann soll zu jeden eine Messagebox erscheinen
        If txtServer.Text = "" Then
          MsgBox("Bitte geben sie ihre Server Adresse an")
          Exit Sub
        ElseIf txtUser.Text = "" Then
          Exit Sub
          MsgBox("Sie müssen ihren Benutzername angeben")
          Exit Sub
        ElseIf txtPass.Text = "" Then
          MsgBox("Sie müssen ihr Passwort eingeben")
          Exit Sub
        ElseIf txtFile.Text = "" Then
          MsgBox("Bitte wählen sie eine Datei aus")
          Exit Sub
        ElseIf txtFileFTPName.Text = "" Then
          MsgBox("Sie müssen ein Datei Name wählen ,wie die Datei auf dem FTP heißen soll.")
          Exit Sub
        End If
    
        ' FTP-Informationen , Datei-Information Deklaieren in String Variablen
        Dim DateiNameAufPC As String = txtFile.Text
        Dim FTP_ServerAdresse As String = txtServer.Text
        Dim FTP_Benutzername As String = txtUser.Text
        Dim FTP_Passwort As String = txtPass.Text
    
        'Wir setzen den Upload Button auf False damit nicht mehrmals draufgedrückt werden kann.
        cmdUpload.Enabled = False
    
        Try
          ' Wir versuchen die Datei Hochzuladen
          My.Computer.Network.UploadFile(DateiNameAufPC, "ftp://ftp." & FTP_ServerAdresse & "/" & txtFileFTPName.Text, FTP_Benutzername, FTP_Passwort)
          ' Wenn es Klappt erscheint eine Erfolgreiche MessageBox
          MsgBox("Datei Erfolgreich Hochgeladen. Die Direkte Url wurde in die Zwischenablage Kopiert.")
          ' Wir setzen den Uploaden Button auf True damit eine weitere Datei hochgeladen werden kann.
          cmdUpload.Enabled = True
          ' Wir Speichern die Direkte Url in die Zwischen Ablage um sie direkt aufrufen zu können.
          My.Computer.Clipboard.SetText("http://" & txtServer.Text & "/" & txtFileFTPName.Text)
        Catch ex As Exception
          ' Klappt es nicht wird uns die Fehlermeldung angezeigt.
          MsgBox(ex.Message)
        End Try
    
      End Sub
    
    Vielen Danke für die Unterstützung!

    • Als Antwort vorgeschlagen Trixi-N Mittwoch, 14. März 2012 19:58
    Samstag, 27. November 2010 09:43
  • Also ich habe jetzt eine Möglichkeit gefunden die Ordner rekursiv zu durchlaufen.

    Nur leider habe ich ein Problem mit der Syntax da ich noch neu bin auf dem Gebiet.

    Wie integriere ich nun folgenden Codeschnipsel in mein Script? Ich bekomme es einfach nicht hin mit VB. Wäre sehr dankbar für eine Hilfestellung.

    Public Sub dirSearch(strDir As String)
    	Try
    		For Each strDirectory As String In Directory.GetDirectories(strDir)
    					' mach etwas....
    			For Each strFile As String In Directory.GetFiles(strDirectory)
    			Next
    
    			dirSearch(strDirectory)
    		Next
    	Catch ex As Exception
    		Console.WriteLine(ex.Message)
    	End Try
    End Sub
    

    Samstag, 27. November 2010 12:49
  • Hi,

    Ich möchte eine Software auf Basis von PHP als Ordner einbinden. Also direkt in die EXE Datei (Falls das geht). Wenn der Benutzer nun die EXE Datei auf seinem PC hat und anklickt dann soll er lediglich seine FTP Zugangsdaten eingeben müssen und die eingebundenen Dateien werden dann hochgeladen.

    Ehrlich gesagt hab ich das nicht ganz verstanden.

    Welche Art von Anwendung erstellst Du? WinForms? ASP.NET? ...?

    Was willst Du wie in die Exe Datei einbinden? PHP Dateien? Falls ja, was soll damit passieren? Ausgeführt werden können die PHP Skripte lokal auf dem Client eh nicht, es sei denn, auf dem Client wird dann auch noch PHP installiert und ggfs. auch noch ein Webserver.

    Wenn es dir lediglich darum geht, Dateien (egal welcher Art) in deine Assembly zu integrieren, welche dann per FTP auf einen FTP Server übertragen werden sollen, würde ich vorschlagen, eine Zip-Datei bspw. als Resource in dein Projekt zu integrieren, diese Resource dann lokal in ein temp. Verzeichnis zu speichern, zu entpacken (bspw. per DotNetZip ) und dann einfach entweder jede Datei einzeln hochzuladen (mit Bordmitteln nicht anders möglich) oder aber eine FTP Komponente zu nutzen, von denen es viele gibt.

      http://dotnet.mvps.org/dotnet/faqs/?id=ftp&lang=de

    Wenn Du es manuell machen willst, musst Du dir zuerst mal die Dateiliste holen.

      <Directory>.GetFiles( "<Quellordner>", "*", SearchOption.AllDirectories )

    Danach kannst Du dann Datei für Datei durchgehen und diese auf den Server hochladen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 27. November 2010 14:07
    Moderator
  • Hallo xtramen,

    mir geht es momentan etwas wie Stefan. Was meinst du mit integrieren?

     

    Viele Grüße

    Holger M. Rößler

    Samstag, 27. November 2010 14:12
  • Sorry wenn ich mich so unverständlich ausdrücke.
    Ich versuche es nochmal :-)

    Ich erstelle mit Virtual Basic Express 2010, eine Windows Forms Anwendung die bei Klick auf einen Button ein bestimmtes Verzeichnis auf einen FTP Server hochladen soll. Derjenige der die Anwendung ausführt soll aber lediglich die Anwendung also z.b. ftp_upload.exe geliefert bekommen. Er soll nicht, die Dateien die hochgeladen werden müssen, sehen.

    Also dachte ich mir, man könnte die Dateien irgendwie in die Anwendung einbetten. Das einbetten würde ich mit einer externen Software hinbekommen.

    Mir geht es nun mehr darum den Ordner rekursiv einzulesen und auf den FTP Server hochzuladen.

    Dabei habe das Problem: Ordner samt Unterordner und Dateien auszulesen und per FTP zu übertragen.

    Das übertragen einer einzelnen Datei klappt ja schon:

     

    My
    .Computer.Network.UploadFile(DateiNameAufPC, "ftp://ftp."
     & FTP_ServerAdresse & "/"
     & txtFileFTPName.Text, FTP_Benutzername, FTP_Passwort)
    
    

     

    Jetzt sollte ich nur noch wissen wie man das mittels einer Rekursion anstellt.

    so klappts ja leider nicht:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
     
     Public Sub dirSearch(strDir As String)
     Try
      For Each strDirectory As String In Directory.GetDirectories(strDir)
         ' ....Hier würde ich dann die Dateien hochladen
    
    
     For Each strFile As String In Directory.GetFiles(strDirectory)
       Next
     
       dirSearch(strDirectory)
      Next
     Catch ex As Exception
      Console.WriteLine(ex.Message)
     End Try
    End Sub
     
     End Sub

    Aber der Tipp mit der ZIP Datei wäre natürlich nicht schlecht. So spare ich mir die externe Software...also einen Setup Generator der verschiedene Dateien in eine EXE Datei einbettet.

     

    Bin leider noch Blutiger Anfänger Sorry :-/
    Die Syntax ist doch sehr gewöhnungsbedürftig wenn man aus dem PHP Sektor kommt.

    Gruß und Danke für die Geduld

     

    Samstag, 27. November 2010 14:43
  • Hi,
    Ich erstelle mit Virtual Basic Express 2010, eine Windows Forms Anwendung die bei Klick auf einen Button ein bestimmtes Verzeichnis auf einen FTP Server hochladen soll. Derjenige der die Anwendung ausführt soll aber lediglich die Anwendung also z.b. ftp_upload.exe geliefert bekommen. Er soll nicht, die Dateien die hochgeladen werden müssen, sehen.

    das kannst Du über eine Resource erledigen. Ich würde, wie schon geschrieben, eine Zip-Datei nehmen, diese extrahieren und temporär speichern.

    Ein Beispiel dazu findest Du hier:

      http://forum.vb-paradise.de/programmieren/hauptforum/40651-dateien-aus-resource-kopieren-ohne-savefiledialog/

    Also dachte ich mir, man könnte die Dateien irgendwie in die Anwendung einbetten. Das einbetten würde ich mit einer externen Software hinbekommen.

    Geht ja auch. Nennt sich Resource. Eine externe Anwendung brauchst Du da nicht.

    Mir geht es nun mehr darum den Ordner rekursiv einzulesen und auf den FTP Server hochzuladen.

    Dabei habe das Problem: Ordner samt Unterordner und Dateien auszulesen und per FTP zu übertragen.

    Ein Beispiel für das Auslesen aller Dateien inkl. derer, die sich in Unterordnern befinden, hatte ich dir oben ja geschrieben. Aber ich würde dennoch empfehlen, dass Du dir eine FTP Komponente aussuchst, welche das bereits kann. Ggfs. müssen ja auch Ordner angelegt werden, wenn die Zielstruktur noch nicht existiert, ...

    Aber der Tipp mit der ZIP Datei wäre natürlich nicht schlecht. So spare ich mir die externe Software...also einen Setup Generator der verschiedene Dateien in eine EXE Datei einbettet.

    Genau :)

    Bin leider noch Blutiger Anfänger Sorry :-/
    Die Syntax ist doch sehr gewöhnungsbedürftig wenn man aus dem PHP Sektor kommt.

    Ggfs. wäre C# für dich sinnvoller. Zumindest von der Syntax her kommt das PHP doch erheblich näher. Vom Funktionsumfang, den Klassen, ... nicht, da geben sich VB.NET und C# nicht wirklich was.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 27. November 2010 15:31
    Moderator
  • Ok Danke.

    Ich werde auf c# umsteigen. is glaube ich einfacher.

    Wäre es zuviel verlangt wenn Du mir eine Beispielschleife (c# Syntax) mit Datei und Ordnernamen zeigen könntest?
    Wenn ich es sehe dann komme ich auch leichter dahinter.

    Wäre echt nett von Dir.

    Gruß

    Samstag, 27. November 2010 17:16
  • Hi,

    Wäre es zuviel verlangt wenn Du mir eine Beispielschleife (c# Syntax) mit Datei und Ordnernamen zeigen könntest?
    Wenn ich es sehe dann komme ich auch leichter dahinter.

    da ich nicht weiß, was Du meinst, kann ich dir auch kein Beispiel posten. Wenn Du eine Liste aller Dateien eines Ordners inkl. der Dateien in Unterordnern haben willst, steht ein Beispiel oben. Das ist für C# identisch zu VB.NET.

      <Directory>.GetFiles( "<Quellordner>", "*", SearchOption.AllDirectories )

    Jede Datei nun einzeln manuell hochzuladen, macht wenig Sinn. Den kompletten Code für den Upload plus prüfen, ob Zielordner existent, ... brauchst Du ja hoffentlich nicht. Falls doch, nimm eine FTP Komponente (siehe Link in meinem früheren Posting)

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 27. November 2010 17:19
    Moderator
  • Hi,

     

    also ich habe es jetzt doch nochmal mit vb probiert und habe zumindestens die Syntax hinbekommen.
    Ich hoffe Du siehst nun was ich bezwecken möchte. Ich bekomme beim Debuggen folgende Meldung:

    Die Datei D:\up\up2 konnte nicht gefunden werden.

    Also das ist komisch. Denn wenn sie nicht gefunden wurde, dann dürfte mich der Debugger ja gar nicht darauf aufmerksam machen :-/.
    Ich habe Testweise mal Folgendes Verzeichnis erstellt das hochgeladen werden soll:

    -up
      -test.txt
      -up2
       -text2.txt

    Kommt wie gesagt o.g. Meldung. Hat da jemand ne Idee was da noch falsch sein könnte?
    Gruß und echt vielen vielen Dank!

     For Each strDirectory As String In My.Computer.FileSystem.GetDirectories(strDir)
    
          ' Wir versuchen den Ordner Hochzuladen
          My.Computer.Network.UploadFile(strDirectory, "ftp://ftp." & FTP_ServerAdresse & "/" & strDirectory, FTP_Benutzername, FTP_Passwort)
    
          For Each strFile As String In My.Computer.FileSystem.GetFiles(strDirectory)
    
            Dim DateiNameAufPC As String = My.Computer.FileSystem.GetName(strDirectory)
    
            ' Wir versuchen die Datei Hochzuladen
            My.Computer.Network.UploadFile(DateiNameAufPC, "ftp://ftp." & FTP_ServerAdresse & "/" & DateiNameAufPC, FTP_Benutzername, FTP_Passwort)
    
          Next
    
          dirSearch(strDirectory)
    
        Next
    

    Samstag, 27. November 2010 18:24
  • Hi,

    ersetz diese Zeile:

      Dim DateiNameAufPC As String = My.Computer.FileSystem.GetName(strDirectory)

    mal wie folgt:

      Dim DateiNameAufPC As String = System.IO.Path.GetFileName( strFile )

    Es würde auch

      Dim DateiNameAufPC As String = My.Computer.FileSystem.GetName( strFile )

    gehen. strDirectory wiederum kann nicht gehen, das ist der Pfad deines Ordners, nicht der einer Datei.

    Die Path Klasse bietet einige Methoden, die dir nützlich sein könnten. Schau dir die auch mal an.

      http://msdn.microsoft.com/de-de/library/system.io.path.aspx

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 27. November 2010 18:31
    Moderator
  • Danke werde ich mir anguggen.
    Die Fehlermeldung bezieht sich auf diese Zeile:

    For
     Each
     strDirectory As
     String
     In
     My
    .Computer.FileSystem.GetDirectories(strDir)

    Ich werde weiter Probieren. Irgendwann finde ich den Fehler :-/

     

    Gruss und Danke

    Samstag, 27. November 2010 19:10
  • Ich werde weiter Probieren. Irgendwann finde ich den Fehler :-/

    Mit deiner häppchenweisen Darbietung wird das leider wohl ziemlich lange dauern. Die Info, auf welche Zeile sich der Fehler bezieht (wobei ich nicht glaube, dass die Zeile den Fehler verursacht, es sei denn, D:\up\up2 existiert wirklich nicht oder der Benutzeraccount hat keine Berechtigung auf den Ordner), wäre sicherlich gleich angebracht gewesen.

    Zusätzlich dürfte auch der Rest nicht wirklich funktionieren. Du kannst kein Verzeichnis so hochladen und Pfade müssen auch angepasst werden.

    Leider hast Du meine Tipps bisher so gut wie möglich ignoriert. Daher würde ich vorschlagen, lies bitte alles nochmal, wende die Tipps an und wenn dann noch Probleme auftauchen, melde dich nochmal hier.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 27. November 2010 19:28
    Moderator
  • Eigentlich sollte ich das ja jetzt nicht machen aber seis drum.

    Dim SourcePath   As String = "X:\Ordner\"
    Dim TargetFilePath As String = String.Empty
    Dim UserName    As String = "Username"
    Dim Password    As String = "Password"
    
      For Each Item As String In Directory.GetFiles( SourcePath, "*", SearchOption.AllDirectories )
    
        TargetFilePath = Item.Replace( SourcePath, String.Empty ).Replace( "\", "/" )
    
        My.Computer.Network.UploadFile( Item, "ftp://ftp.deinserver.tld/" & TargetFilePath, UserName, Password )
    
      Next
    

    Allerdings teilweise ungetestet.

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 27. November 2010 19:43
    Moderator
  • Hi Stefan,

    tut mir leid wenn ich irgendwie zuviel erwartet habe. Es war nicht meine Absicht Dir "Auf den Wecker zu gehen".
    War Gestern einfach ein wenig überfordert und zu lange an der Geschichte dran gewesen....Sorry!

    Ich bin wirklich für jeden Tipp dankbar und habe mir alles schön durchgelesen und versucht ein wenig dahinter zu steigen.

    Nun habe ich mir folgende kleine Anwendung, mit der PDFLib, konstruiert. Leider finde ich keine Dokumentation dazu, sonst würde sich meine nächste Frage vielleicht erübrigen.
    Die Verbindung wird hergestellt. Nur werden keine Daten hochgeladen. Ich bekomme keine Fehlermeldung oder sonstige Anhaltspunkte warum das nicht klappt. Die Datei ist vorhanden und die Rechte dafür habe ich auch.

    Auch in der Demo die dabei war, funktioniert weder der Upload noch der Download. Kann es evtl sein das die Firewall da was blockiert? Aber auch hier bekomme ich keine Meldung.

    Ich habe Poste mal das komplette Script vielleicht siehst Du ja etwas:

    Imports System.IO
    Imports FTPLib
    
    Public Class Form1
    
     Dim locFTP As New FTP
    
    
     'Private WithEvents locFTP As FTP = Nothing
    
     Public Sub New()
    
      ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
      InitializeComponent()
    
      ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
     
    
    
     End Sub
    
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
     
    
      ' Verbindung zum FTP-Server herstellen
      locFTP.Connect("Host=xxxx;Username=xxxx;Password=xxxx;Port=21;")
    
      If (locFTP.IsConnected = True) Then
    
       MessageBox.Show("Verbindung wurde hergestellt")
    
      End If
    
    
     End Sub
     
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
      ' Datei hochladen
      Dim pfad As String = IO.Path.Combine("C:\", "eula.1028.txt")
      locFTP.Upload(pfad, "httpdocs/eula.1028.txt")
    
    
     End Sub
    
     Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    
      ' Beendet die Verbindung zum FTP-Server
      locFTP.Disconnect()
    
     End Sub
    
    End Class

    Sonntag, 28. November 2010 10:30