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!