ホームページ > バックエンド開発 > C++ > C# で FTP サーバーにファイルを効率的にアップロードおよびダウンロードする方法

C# で FTP サーバーにファイルを効率的にアップロードおよびダウンロードする方法

Mary-Kate Olsen
リリース: 2025-01-11 09:22:40
オリジナル
395 人が閲覧しました

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

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート