2015-05-14 7 views
0

Я пытаюсь загрузить FTP какой-либо файл с удаленного сервера, используя OpenNETCF.ftp класс Размер файла 96Kb Я получаю сообщение об ошибке при открытии его словам Коррумпированные ФайлFile Corrupt При использовании OpenNETCF.Ftp

private static int BUFFER_SIZE = 512; 
private static int DEFAULT_PORT = 21; 

private bool    m_connected  = false; 
private FTPMode    m_mode   = FTPMode.Passive; 
private int     m_port = DEFAULT_PORT; 
private string    m_host   = ""; 
private FTPTransferType m_type = FTPTransferType.Binary; 
private string    m_uid   = ""; 
private string    m_pwd   = ""; 
private Socket    m_cmdsocket  = null; 
private bool    m_exceptions = true; 
private byte[]    m_buffer  = new byte[BUFFER_SIZE]; 
private FTPServerType  m_server = FTPServerType.Unknown; 

public void GetFile(string remoteFileName, string localFileName, bool overwrite) 
{ 
    int bytesrecvd = 0; 
    using (var output = File.Create(localFileName)) 
    using (var socket = OpenDataSocket()) 
    { 
     response = SendCommand("RETR " + remoteFileName); 
     if (!((response.ID == StatusCode.FileStatusOK) || (response.ID == StatusCode.ConnectionAlreadyOpen))) 
     { 
      if (!m_exceptions) 
      { 
       return; 
      } 
      else 
      { 
       throw new IOException(response.Text); 
      } 
     } 

    while (true) 
    { 
     bytesrecvd = socket.Receive(m_buffer,m_buffer.Length, 0); 
     output.Write(m_buffer, 0, bytesrecvd); 
     response.Text = bytesrecvd.ToString(); 
     if (bytesrecvd <= 0) 
     { 
      break; 
     } 
    } 
} 
+1

Какая ошибка? –

+0

Файл exe не может использовать приложение win32 – xfiles

ответ

0

Скорее всего, вы не устанавливаете двоичный режим передачи, и по умолчанию он установлен на ASCII. Вам необходимо ввести команду «TYPE I».