Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk memuat naik dan memuat turun fail dengan cekap ke/daripada pelayan FTP dalam C#?
Memuat naik dan memuat turun fail pelayan FTP dalam C#/.NET
Soalan 1: Menstrim muat naik fail
Untuk mengelakkan memuatkan fail besar ke dalam memori sebelum memuat naik, gunakan FileStream dan Stream.CopyTo untuk memindahkan fail secara terus. Kod yang diubah suai adalah seperti berikut:
<code class="language-csharp">using (Stream ftpStream = request.GetRequestStream()) using (Stream fileStream = File.OpenRead(@"/local/path/to/file.zip")) { fileStream.CopyTo(ftpStream); }</code>
Masalah 2: Fail ZIP tidak sah selepas memuat turun
Sahkan sama ada pelayan FTP menyokong mod pasv (pemindahan data mod pasif) dengan mendayakan permintaan.UsePassive = benar. Selain itu, tetapkan permintaan.UseBinary = benar untuk memindahkan fail dalam mod binari. Kod yang diubah suai adalah seperti berikut:
<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>
Dengan pengubahsuaian di atas, anda boleh berjaya memuat naik dan memuat turun fail ke pelayan FTP, memastikan integriti fail ZIP selepas memuat turun.
Atas ialah kandungan terperinci Bagaimana untuk memuat naik dan memuat turun fail dengan cekap ke/daripada pelayan FTP dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!