2015-11-24 4 views
0

Я пытаюсь создать список всех файлов на ftp-сервере.Список FTP-списка с неполным файлом

// Get the object used to communicate with the server. 
      FtpWebRequest request = (FtpWebRequest)WebRequest.Create(remote); 
      request.Credentials = new NetworkCredential(userName, passWord); 
      request.Method = WebRequestMethods.Ftp.ListDirectory; 
      FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 
      StreamReader streamReader = new StreamReader(response.GetResponseStream()); 
      List<string> files = new List<string>(); 

      // Build List of all files 
      string line = streamReader.ReadLine(); 
      while (!string.IsNullOrWhiteSpace(line)) 
      { 
       files.Add(line); 
       line = streamReader.ReadLine(); 
      } 
      streamReader.Close(); 

Теперь проблема в том, Whe я использовать этот список со сломанным/неполным файлом, чтобы загрузить все файлы с Webclient, то код ломается при попытке загрузить неполный файл ...

The remote server returned an error: (550) File unavailable (e.g., file not found, no access)

Как пропустить эти файлы при создании списка?

+1

Не уверен, можете ли вы «пропустить» плохие файлы, однако вы можете попробовать код здесь http://stackoverflow.com/questions/17471745/ftp-getresponse-error-550-file-unavailable, чтобы получить более точную сообщение об ошибке. Оттуда вы можете решить проблему с администратором FTP-сайтов, чтобы устранить проблему. – Bearcat9425

+0

@ Bearcat9425 Спасибо. Файлы ar, созданные в папке ftp, автоматически, но я хочу пропустить файлы, которые не полностью скопированы/созданы. – Nomistake

+0

Я не думаю, что есть способ сделать это, по крайней мере, мудрый, о котором я не знаю. Я надеюсь, что кто-то может сказать, что я ошибаюсь и предлагаю решение, но я не думаю, что для этого есть один из них. Я бы работал с вашим администратором FTP, чтобы узнать, почему автоматизированный процесс генерирует неполные/плохие файлы. Я бы начала там и вернулась. – Bearcat9425

ответ

0

Я поймал выход, я просто добавил «игнорировать», когда были исключения: «Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, файл не найден, нет доступа)» Таким образом, я не получить ошибку, и файл будет загружен просто отлично, когда он будет завершен на ftp-сервере.