Heim >Backend-Entwicklung >C++ >Wie kann ich in C# effizient Dateien auf/von einem FTP-Server hochladen und herunterladen?

Wie kann ich in C# effizient Dateien auf/von einem FTP-Server hochladen und herunterladen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-11 09:22:40476Durchsuche

How to Efficiently Upload and Download Files to/from an FTP Server in C#?

Hochladen und Herunterladen von FTP-Serverdateien in C#/.NET

Frage 1: Streaming-Datei-Upload

Um zu vermeiden, dass große Dateien vor dem Hochladen in den Speicher geladen werden, verwenden Sie FileStream und Stream.CopyTo, um Dateien direkt zu übertragen. Der geänderte Code lautet wie folgt:

<code class="language-csharp">using (Stream ftpStream = request.GetRequestStream())
using (Stream fileStream = File.OpenRead(@"/local/path/to/file.zip"))
{
    fileStream.CopyTo(ftpStream);
}</code>

Problem 2: Die ZIP-Datei ist nach dem Herunterladen ungültig

Bestätigen Sie, ob der FTP-Server den Pasv-Modus (Passivmodus-Datenübertragung) unterstützt, indem Sie request.UsePassive = true aktivieren. Legen Sie außerdem request.UseBinary = true fest, um Dateien im Binärmodus zu übertragen. Der geänderte Code lautet wie folgt:

<code class="language-csharp">FtpWebRequest request =
    (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.UsePassive = true;
request.UseBinary = true;

using (Stream ftpStream = request.GetResponse().GetResponseStream())
using (Stream fileStream = File.Create(@"/local/path/to/file.zip"))
{
    ftpStream.CopyTo(fileStream);
}</code>

Mit den oben genannten Änderungen können Sie Dateien erfolgreich auf den FTP-Server hoch- und herunterladen und so die Integrität der ZIP-Datei nach dem Herunterladen sicherstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich in C# effizient Dateien auf/von einem FTP-Server hochladen und herunterladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn