Laden Sie die Datei mit VB.NET auf die FTP-Site hoch

8

Ich habe diesen funktionierenden Code von diesem Link , um eine Datei auf eine FTP-Site hochzuladen:

%Vor%

Ich frage mich, ob die Datei bereits im FTP-Verzeichnis existiert, wird die Datei überschrieben?

    
Somebody 10.01.2012, 19:25
quelle

6 Antworten

8

Wenn Sie sich die MSDN -Dokumentation ansehen, wird dies der FTP STOR-Befehl Wenn Sie die Definition für den FTP STOR-Befehl betrachten, werden vorhandene Dateien überschrieben, wenn der Benutzer über Berechtigungen verfügt.

In diesem Fall würde ja die Datei überschrieben.

    
Mitchel Sellers 10.01.2012, 19:29
quelle
3

Von: Link

STOR (SPEICHER)

STOR

Dieser Befehl bewirkt, dass der FTP-Server die über die Datenverbindung übertragenen Daten akzeptiert und die Daten als Datei auf dem FTP-Server speichert. Wenn die Datei, die in Pfadname angegeben ist, auf dem Serverstandort vorhanden ist, wird der Inhalt durch die übertragenen Daten ersetzt. Eine neue Datei wird auf dem FTP-Server erstellt, wenn die im Pfad angegebene Datei noch nicht existiert.

    
Somebody 10.01.2012 19:44
quelle
0

Ja, FTP-Protokoll überschreibt vorhandene Dateien beim Hochladen.

Beachten Sie, dass es bessere Möglichkeiten gibt, den Upload zu implementieren.

Der einfachste Weg, um eine Binärdatei auf einen FTP-Server mit .NET Framework hochzuladen, ist die Verwendung von WebClient.UploadFile :

%Vor%

Wenn Sie ein größeres Steuerelement benötigen, das WebClient nicht bietet (wie TLS / SSL-Verschlüsselung usw.), verwenden Sie FtpWebRequest . Ein einfacher Weg besteht darin, einfach einen FileStream in den FTP-Stream zu kopieren, indem Sie Stream.CopyTo :

%Vor%

Wenn Sie einen Upload-Fortschritt überwachen müssen, müssen Sie den Inhalt selbst kopieren:

%Vor%

Für den GUI-Fortschritt (WinForms ProgressBar ), siehe C # -Beispiel unter: Wie können wir den Fortschrittsbalken anzeigen? Hochladen mit FtpWebRequest

Wenn Sie alle Dateien aus einem Ordner hochladen möchten, sehen Sie sich das C # -Beispiel bei
Hochladen des Verzeichnisses von Dateien mit dem WebClient an .

    
Martin Prikryl 07.09.2017 06:44
quelle
-1

Es ist wichtig das zu wissen, Dateien sind nur Referenzen auf Zeiger, die auf ein Array von Bytes im Speicher zeigen.

Wenn ein Dateischreibvorgang aufgefordert wird, eine Datei in einen Zeiger zu schreiben, wird nicht geprüft, ob die Datei existiert. Das Dateisystem ermöglicht es einfach, den Vorgang fortzusetzen, es sei denn, die Bytes im Speicher werden verwendet ( obwohl Sie das Überschreiben erzwingen können ).

Wenn Sie vor dem Schreiben der Datei überprüfen möchten, ob eine Datei existiert, verwenden Sie meine GetDirectory-Methode in VB.net hier: Ссылка

    
THE AMAZING 23.02.2015 00:13
quelle
-1

Verwenden Sie diese Funktion zum Hochladen der Datei

Öffentliche Sub-Upload-Datei (ByVal _FileName als String, ByVal _UploadPath als String, ByVal _FTPUser als String, ByVal _FTPPass als String)

Dim _FileInfo als neue System.IO.FileInfo (_FileName)

%Vor%

End Sub

VERWENDUNG:

'Datei über FTP hochladen UploadFile ("c: \ UploadFile.doc", " ftp: //FTPHostName/UploadPath/UploadFile.doc ", "UserName" , "Passwort")

    
Kavita Mantri 30.04.2017 18:41
quelle
-1

Dies ist funktionierender Code zum Hochladen von Dateien auf einen FTP-Server

%Vor%     
Gerald Leesmann 19.03.2018 19:44
quelle

Tags und Links