Esempio n. 1
0
        /// <summary>
        /// 同步上传文件
        /// </summary>
        /// <param name="localFileName"></param>
        /// <param name="remoteFileName"></param>
        /// <param name="resume">如果远程文件存在,是否续传</param>
        public void Update(string localFileName, string remoteFileName, bool resume)
        {
            string path = Path.GetDirectoryName(remoteFileName).Replace('\\', '/').TrimStart('/');

            if (!DirectoryExists(path))
            {
                CreateDirectory(path);
            }

            if (resume)
            {
                long RemoteFileSize = GetFileSize(remoteFileName);
                long localFileSize  = new FileInfo(localFileName).Length;

                if (RemoteFileSize >= localFileSize)
                {
                    return;
                }
            }

            if (resume)
            {
                m_pFtp.ResumeNextTransfer();
                m_pFtp.UploadFile(localFileName, remoteFileName);
                m_pFtp.CancelResume();
            }
            else
            {
                m_pFtp.CancelResume();
                m_pFtp.UploadFile(localFileName, remoteFileName);
            }
        }