0

ファイルをあるftpから別のftpに移動する必要があります(現在ftpwebrequestを使用)。認証が必要で、設定が異なります(タイムアウト、ASCII、アクティブなど)。一方のサーバーからローカル サーバーにファイルをダウンロードしてからもう一方のサーバーにアップロードするのは、ファイルをコピーするだけの場合よりも大幅に遅くなります (それが存在する場合でも、どのように名前を変更しますか?)。もっと速いはずですが、よくわかりません。ファイルのコピーやダウンロードについては理解していません。

それらはすべて.txtまたは.csvであり、ほとんどがそれぞれ約3〜10 mbであるため、かなりの量のデータ

4

2 に答える 2

0

しばらくの間、FTP サーバーからファイルをダウンロード、アップロードする必要があります。C# での FTP 操作の良い例を次に示します。これを使用できます。要件を完全に満たす C# プログラムを作成するのに役立ちます。

FTP サーバーからのファイルのダウンロード

public void DownloadFile(stringHostURL, string UserName, string Password, stringSourceDirectory, string FileName, string LocalDirectory)
        {
            if(!File.Exists(LocalDirectory + FileName))
            {
                try
                {
                    FtpWebRequestrequestFileDownload = (FtpWebRequest)WebRequest.Create(HostURL + “/” + SourceDirectory + “/” + FileName);
                    requestFileDownload.Credentials = new NetworkCredential(UserName, Password);
                    requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;
                    FtpWebResponseresponseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();
                    StreamresponseStream = responseFileDownload.GetResponseStream();
                    FileStreamwriteStream = new FileStream(LocalDirectory + FileName, FileMode.Create);
                    intLength = 2048;
                    Byte[] buffer = new Byte[Length];
                    intbytesRead = responseStream.Read(buffer, 0, Length);
                    while(bytesRead > 0)
                    {
                        writeStream.Write(buffer, 0, bytesRead);
                        bytesRead = responseStream.Read(buffer, 0, Length);
                    }
                    responseStream.Close();
                    writeStream.Close();
                    requestFileDownload = null;
                    responseFileDownload = null;
                }
                catch(Exception ex)
                {
                    throwex;
                }
            }
        }

良い例

それがあなたを助けることを願っています。

于 2013-09-16T06:12:55.213 に答える
0

FXPを使用して、FTP サーバー A から FTP サーバー B にファイルをコピーできます。サーバーとクライアントの両方がその機能をサポートする必要があります。

于 2013-08-22T19:12:46.077 に答える