【问题标题】:File Corrupt When using OpenNETCF.Ftp使用 OpenNETCF.Ftp 时文件损坏
【发布时间】:2015-07-25 23:02:51
【问题描述】:

我正在尝试使用 OpenNETCF.ftp 类从远程服务器下载 ftp 一些文件 文件大小 96Kb 打开时出现错误提示文件损坏

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

【问题讨论】:

  • exe文件不能win32应用

标签: c# opennetcf


【解决方案1】:

您很可能没有设置二进制传输模式,默认情况下它设置为 ASCII。 您需要发出“TYPE I”命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-03
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 2012-12-22
    相关资源
    最近更新 更多