C#通過FTP下載所有文件和子目錄一般信息我還在學(xué)習(xí)C#。為了幫助自己,我正在嘗試創(chuàng)建一個程序,它將自動將我的所有本地項目與我的FTP服務(wù)器上的文件夾同步。這樣,無論我是在學(xué)校還是在家,我總是可以使用相同的項目。我知道像Dropbox這樣的程序已經(jīng)為我做了這個,但我想創(chuàng)造類似的東西,我自己會教我很多東西。問題我邁向目標(biāo)的第一步是從我的FTP服務(wù)器下載所有文件,子目錄和子文件。我已經(jīng)設(shè)法從下面的代碼下載目錄中的所有文件。但是,我的代碼只列出了主目錄中的文件夾名稱和文件。子文件夾和子文件永遠(yuǎn)不會返回,也永遠(yuǎn)不會下載。除此之外,服務(wù)器返回550錯誤,因?yàn)槲艺趪L試下載文件夾,就像它們是文件一樣。我已經(jīng)在這上面了4個多小時了,但我找不到任何關(guān)于如何解決這些問題并讓它發(fā)揮作用的事情。因此,我希望你們能幫助我:)碼public string[] GetFileList(){
string[] downloadFiles;
StringBuilder result = new StringBuilder();
WebResponse response = null;
StreamReader reader = null;
try
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
request.UseBinary = true;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential(ftpUserName, ftpPassWord);
request.KeepAlive = false;
request.UsePassive = false;
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream());
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
result.Remove(result.ToString().LastIndexOf('\n'), 1);
return result.ToString().Split('\n');
}
catch (Exception ex)
{
if (reader != null)
{
reader.Close();
}
if (response != null)
{
response.Close();
}
downloadFiles = null;
return downloadFiles;
}}
- 1 回答
- 0 關(guān)注
- 802 瀏覽
添加回答
舉報
0/150
提交
取消