Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk memuat naik dan memuat turun fail dengan cekap ke/daripada pelayan FTP dalam C#?

Bagaimana untuk memuat naik dan memuat turun fail dengan cekap ke/daripada pelayan FTP dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-11 09:22:40398semak imbas

How to Efficiently Upload and Download Files to/from an FTP Server in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn