Datei über Button auswählen und in vorgegebenes Verzeichnis kopieren

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Hycut.

    Datei über Button auswählen und in vorgegebenes Verzeichnis kopieren

    Hallo liebe Gemeinde,

    herzliche Grüße in die Runde......hackt mir bitte nicht die Rübe ab aber ich bin in Bezug auf VB blutiger Anfänger....

    Ich möchte über einen Button, welcher in einer Form angelegt ist eine Datei in ein bestimmtes Verzeichnis ablegen. Das mit dem Auswählen der Datei habe (glaube ;( ) ich einigermaßen hinbekommen. Mir fehlt irgendwie die Übergabe des ausgewählten Dateinamens an den Upload. Es wäre nett wenn ihr Euch meiner Erbarmen könnt und ein wenig Hilfe gebt.

    Habt schon mal vielen Dank im Voraus und Grüße aus der Hauptstadt in die Runde

    Hier mal mein Code
    PrivateSub Button_Upload_Fachbetriebsnachweise_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Upload_Fachbetriebsnachweise.Click
    'Wir setzen den Upload Button auf False damit nicht mehrmals draufgedrückt werden kann.
    Button_Upload_Fachbetriebsnachweise.Enabled = False
    ' Wir Deklairen opn als neuen Openfiledialog
    Dim opn AsNewOpenFileDialogWith opn
    ' Wir setzen den Filter auf Alle Dateien um alle Dateien auf den FTP Server hochzuladen
    .Filter = "Alle Dateien (*.pdf) | *.pdf"
    ' Der Filename soll zuerst im Dialog "Datei.." lauten
    .FileName = "*.pdf"
    ' Der Titel des Dialoges soll "Bitte wählen sie eine Datei aus..." lauten
    .Title = "Bitte wählen sie eine Datei zum Upload aus..."
    'Wenn Alles Ok ist soll (siehe unten)
    If .ShowDialog = Windows.Forms.DialogResult.OK Then
    ???????????????????????????????????????????????????
    Dim MySaveFile AsString = "c:\Temp"My.Computer.Network.UploadFile(MyFileName, MySaveFile, True, 500)
    EndIf
    EndWith
    EndSub

    Einfügen des Pfads in eine Textbox

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. If OpenFileDialog1.ShowDialog = DialogResult.OK Then 'Überprüft ob Datei ausgewählt
    3. TextBox1.Text = OpenFileDialog1.FileName 'Übergibt Pfad an Textbox
    4. End If
    5. End Sub


    In diesem Beispiel hab ich die Auswahl des Openfiledialog einfach in eine Textbox eingeführt. Genauso gut kannst due ine Variable definieren und ihre dieses Wert zuweisen:

    VB.NET-Quellcode

    1. Dim Pfad As String = OpenFileDialog1.FileName 'Übergibt Pfad an Variable



    Mit IO.Path kannst du den Pfad auf deinen gewünschten Dateinamen zuschneiden:

    VB.NET-Quellcode

    1. IO.Path.GetFileName(Pfad) ' Zum Beispiel --> text.exe
    2. IO.Path.GetFileNameWithoutExtension(Pfad) ' Zum Beispiel --> text
    Hab vielen Dank. Mit Deiner Hilfe und ein wenig suche habe ich es hinbekommen.

    Code habe ich wie folgt geändert, da mir immer der ausgewählte Dateiname zum speichern fehlte:

    'Button Upload Fachbetriebsnachweis Click --> Fachbetriebsnachweis auswählen und im Programmverzeichnis speichern
    PrivateSub Button_Upload_Fachbetriebsnachweise_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Upload_Fachbetriebsnachweise.Click
    Button_Upload_Fachbetriebsnachweise.Enabled =
    False
    Dim opnFachbetriebsnachweise AsNewOpenFileDialogWith opnFachbetriebsnachweise
    ' Wir setzen den Filter auf pdf Dateien um diese auf in das Programmverzeichnis hochzuladen
    .Filter = "Alle Dateien (*.pdf) | *.pdf"
    ' Der Filename soll zuerst im Dialog "Datei.." lauten
    .FileName = "*.pdf"
    'Startverzeichnis
    .InitialDirectory = "C:\"
    ' Der Titel des Dialoges soll "Bitte wählen sie einen Fachbetriebsnachweis aus..." lauten
    .Title = "Bitte wählen sie einen Fachbetriebsnachweis zum Upload aus..."
    Button_Upload_Fachbetriebsnachweise.Enabled = True
    'Wenn Alles Ok ist soll (siehe unten)
    If .ShowDialog = Windows.Forms.DialogResult.OK ThenDebug.WriteLine(opnFachbetriebsnachweise.SafeFileName)
    Dim sLocalFileFachbetriebsnachweise AsString = opnFachbetriebsnachweise.SafeFileName
    Dim sLocalNameFachbetriebsnachweise AsString = "Fachbetriebsnachweis"Dim sLocalPathFachbetriebsnachweise AsString = opnFachbetriebsnachweise.FileName
    Dim sFTPHostFachbetriebsnachweise AsString = "C:/Temp/"
    ' Benutzername und Kennwort für den Server-Zugriff
    Dim sUserNameFachbetriebsnachweise AsString = ""
    Dim sPasswordFachbetriebsnachweise AsString = ""
    ' Datei wie UploadFile-Methode hochladenMy.Computer.Network.UploadFile(sLocalPathFachbetriebsnachweise, sFTPHostFachbetriebsnachweise & sLocalNameFachbetriebsnachweise & "_" & sLocalFileFachbetriebsnachweise, sUserNameFachbetriebsnachweise, sPasswordFachbetriebsnachweise, True, 500, FileIO.UICancelOption.DoNothing)
    EndIf
    EndWith
    EndSub