C#/.NET에서 FTP 서버 파일 업로드 및 다운로드
질문 1: 스트리밍 파일 업로드
업로드하기 전에 대용량 파일을 메모리에 로드하지 않으려면 FileStream 및 Stream.CopyTo를 사용하여 파일을 직접 전송하세요. 수정된 코드는 다음과 같습니다.
<code class="language-csharp">using (Stream ftpStream = request.GetRequestStream()) using (Stream fileStream = File.OpenRead(@"/local/path/to/file.zip")) { fileStream.CopyTo(ftpStream); }</code>
문제 2: 다운로드 후 ZIP 파일이 유효하지 않습니다
request.UsePassive = true를 활성화하여 FTP 서버가 pasv 모드(패시브 모드 데이터 전송)를 지원하는지 확인하세요. 또한 바이너리 모드로 파일을 전송하려면 request.UseBinary = true를 설정하세요. 수정된 코드는 다음과 같습니다.
<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>
위 수정을 통해 FTP 서버에 파일을 성공적으로 업로드 및 다운로드할 수 있으며 다운로드 후 ZIP 파일의 무결성이 보장됩니다.
위 내용은 C#에서 FTP 서버로/에서 파일을 효율적으로 업로드하고 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!