Maison >développement back-end >C++ >Comment télécharger et télécharger efficacement des fichiers vers/depuis un serveur FTP en C# ?

Comment télécharger et télécharger efficacement des fichiers vers/depuis un serveur FTP en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-11 09:22:40446parcourir

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

Téléchargement et téléchargement de fichiers du serveur FTP en C#/.NET

Question 1 : Téléchargement de fichiers en streaming

Pour éviter de charger des fichiers volumineux en mémoire avant le téléchargement, utilisez FileStream et Stream.CopyTo pour transférer des fichiers directement. Le code modifié est le suivant :

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

Problème 2 : Le fichier ZIP n'est pas valide après le téléchargement

Confirmez si le serveur FTP prend en charge le mode pasv (transfert de données en mode passif) en activant request.UsePassive = true. De plus, définissez request.UseBinary = true pour transférer des fichiers en mode binaire. Le code modifié est le suivant :

<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>

Avec les modifications ci-dessus, vous pouvez réussir à télécharger et télécharger des fichiers sur le serveur FTP, garantissant ainsi l'intégrité du fichier ZIP après le téléchargement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn