2013-08-22 115 views
0

我需要將文件從一個ftp移動到另一個ftpwebrequest(目前使用ftpwebrequest),這兩個文件都需要身份驗證,並且具有不同的設置(超時,ascii,活動等)。是從一個文件下載到本地服務器,然後上傳到另一個重要慢比複製文件(如果存在,甚至,你會怎麼做,重命名?)。感覺它應該更快,但我不確定,我不知道文件的複製或下載。如何將文件從一個ftp移動到另一個

他們都是.txt或.csv和使用FXP每個所以相當多的數據

+1

從服務器A下載到運行您應用程序的機器。然後上傳到服務器B ... – NotMe

+0

種類取決於您的服務器之間管道的大小。你處理了多少個文件?它們有多大? – Tim

回答

0

您可以從FTP的服務器中的文件複製到FTP服務器B的大部分在3-10 MB。服務器和客戶端都必須支持該功能。

+0

它們非常大,大概有50到100個左右的文件。我一直在做一些搜索,看起來不管他們叫什麼,它是某種下載,然後上傳 –

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; 
       } 
      } 
     } 

Some Good Examples

文件下載希望它會幫助你。

相關問題