青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 124,  comments - 29,  trackbacks - 0
  1using System;
  2using System.Collections.Generic;
  3using System.Net;
  4using System.IO;
  5using System.Windows.Forms;
  6using System.Text;
  7
  8namespace FTPDownLoad
  9{
 10    class FtpFileInfo
 11    {
 12        public string FileName;
 13        public DateTime ModifyDateTime;
 14        public bool IsDirectory;
 15    }

 16    class FtpHelper
 17    {
 18        private string ftpServer;
 19        private string userName;
 20        private string password;
 21        FtpWebRequest ftpRequest = null;
 22        private string errMsg;
 23        public string ErrMsg
 24        {
 25            get return errMsg; }
 26            set { errMsg = value; }
 27        }

 28        public bool IsAnonymous
 29        {
 30            get
 31            {
 32                return !(userName != null && userName.Trim() != String.Empty
 33                        && password != null && password.Trim() != string.Empty);
 34            }

 35        }

 36
 37        public FtpHelper(string ftpServer, string userName, string password)
 38        {
 39            this.ftpServer = ftpServer;
 40            this.userName = userName;
 41            this.password = password;
 42        }

 43
 44        /// <summary>
 45        /// 取得服務器端的文件鏈表
 46        /// </summary>
 47        /// <param name="serverPath"></param>
 48        /// <returns></returns>

 49        public List<FtpFileInfo> GetFilesList(string serverPath)
 50        {
 51            List<FtpFileInfo> fileInfoList = new List<FtpFileInfo>();
 52            Uri uri = new Uri("ftp://" + ftpServer + serverPath);
 53            StreamReader sr = null;
 54            try
 55            {
 56                ftpRequest = (FtpWebRequest)FtpWebRequest.Create(uri);
 57                if (ftpRequest == nullthrow new Exception("無法打開ftp服務器連接");
 58                ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;   //列表   
 59                if (!IsAnonymous)
 60                {
 61                    ftpRequest.Credentials = new NetworkCredential(userName, password);
 62                }

 63
 64                sr = new StreamReader(ftpRequest.GetResponse().GetResponseStream());
 65                while (!sr.EndOfStream)//讀取列表   
 66                {
 67                    //System.Diagnostics.Debug.WriteLine(sr.ReadLine());
 68                    char[] splitChar = ' ' };
 69                    string[] tmpArray = sr.ReadLine().Split(splitChar, StringSplitOptions.RemoveEmptyEntries);
 70                    if (tmpArray.Length != 9)
 71                    {
 72                        continue;
 73                    }

 74                    FtpFileInfo ffi = new FtpFileInfo();
 75                    ffi.IsDirectory = tmpArray[0].StartsWith("d");
 76                    if (!ffi.IsDirectory)
 77                    {
 78                        ffi.FileName = tmpArray[8];
 79                        fileInfoList.Add(ffi);
 80                    }

 81                    else
 82                    {
 83                        continue;
 84                    }

 85                }

 86            }

 87            catch (Exception ex)
 88            {
 89                //TODO: 異常處理.
 90                throw ex;
 91            }

 92            finally
 93            {
 94                if (sr != null) sr.Close();
 95            }

 96
 97            foreach (FtpFileInfo ffi in fileInfoList)
 98            {
 99                ffi.ModifyDateTime = this.GetFileModifyTime(serverPath, ffi.FileName);
100            }

101            return fileInfoList;
102        }

103        /// <summary>
104        /// Download
105        /// </summary>
106        /// <param name="serverPath"></param>
107        /// <param name="serverFileName"></param>
108        /// <param name="localPath"></param>
109        /// <param name="localFileName"></param>
110        /// <returns></returns>

111        public bool Download(string serverPath, string serverFileName, string localPath, string localFileName)
112        {
113            if (!Directory.Exists(localPath))
114            {
115                //TODO: 創建文件夾
116                errMsg = "本地路徑不存在: " + localPath;
117                return false;
118            }

119            FileStream outputStream = null;
120            Stream ftpStream = null;
121            try
122            {
123                outputStream = new FileStream(localPath + "\\" + localFileName, FileMode.Create);
124                if (outputStream == null)
125                {
126                    errMsg = "無法創建本地文件";
127                    return false;
128                }

129                ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServer + serverPath + "/" + serverFileName));
130                if (ftpRequest == null)
131                {
132                    errMsg = "無法連接服務器";
133                    return false;
134                }

135                ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
136                ftpRequest.UseBinary = true;
137                //用戶驗證
138                if (!IsAnonymous)
139                {
140                    ftpRequest.Credentials = new NetworkCredential(userName, password);
141                }

142                ftpStream = ftpRequest.GetResponse().GetResponseStream();
143                int bufferSize = 2048;
144                int readCount;
145                byte[] buffer = new byte[bufferSize];
146
147                while ((readCount = ftpStream.Read(buffer, 0, bufferSize)) > 0)
148                {
149                    outputStream.Write(buffer, 0, readCount);
150                }

151            }

152            catch (Exception ex)
153            {
154                errMsg = ex.ToString();
155                return false;
156            }

157            finally
158            {
159                if (ftpStream != null) ftpStream.Close();
160                if (outputStream != null) outputStream.Close();
161            }

162            FileInfo fi = new FileInfo(localPath + "\\" + localFileName);
163            fi.LastWriteTime = GetFileModifyTime(serverPath, serverFileName);
164            return true;
165        }

166
167        public  void DownLoadDirectory(String ServerPath, String LocalPath)
168        {
169            //取服務器端要下載的目錄里的文件列表
170            List<FtpFileInfo> serFileList = GetFilesList(ServerPath);
171            foreach (FtpFileInfo ftpFile in serFileList)
172            {
173                if (ftpFile.IsDirectory) continue;
174                DateTime modifyTime = ftpFile.ModifyDateTime;
175                string localFileName = modifyTime.ToString("yyyyMMddHHmmss"+ "_" + ftpFile.FileName;
176
177                // 如果本地不存在該文件,則說明該文件是比較新的文件,需要下載.
178                if (!File.Exists(LocalPath + "\\" + localFileName))
179                {
180                    if (!Download(ServerPath, ftpFile.FileName, LocalPath, localFileName))
181                    {
182                        MessageBox.Show("下載文件出錯!\r\n錯誤原因: " + ErrMsg);
183                    }

184                }

185            }

186        }

187           
188        public DateTime GetFileModifyTime(string serverPath, string fileName)
189        {
190            Uri uri = new Uri("ftp://" + ftpServer + serverPath + "/" + fileName);
191            DateTime dt = DateTime.Now;
192            try
193            {
194                ftpRequest = (FtpWebRequest)WebRequest.Create(uri);
195                if (!IsAnonymous)
196                {
197                    ftpRequest.Credentials = new NetworkCredential(userName, password);
198                }

199                ftpRequest.Method = WebRequestMethods.Ftp.GetDateTimestamp;
200                ftpRequest.UseBinary = true;
201                ftpRequest.UsePassive = false;
202                dt = ((FtpWebResponse)ftpRequest.GetResponse()).LastModified;
203            }

204            catch (Exception ex)
205            {
206                //TODO: 錯誤處理
207                throw ex;
208            }

209            return dt;
210        }

211    }

212}
posted on 2008-09-26 17:36 天書 閱讀(1073) 評論(0)  編輯 收藏 引用

<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(5)

隨筆檔案

文章分類

文章檔案

好友的Bolg

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合亚州| 国内精品福利| 99这里只有精品| 亚洲精品久久7777| 欧美国产日韩精品| 亚洲视频图片小说| 亚洲欧美日韩中文在线制服| 国产婷婷精品| 欧美福利一区二区| 国产精品va在线播放我和闺蜜| 欧美亚洲日本国产| 久久久www成人免费无遮挡大片| 亚洲国产精品成人一区二区| 日韩视频一区二区三区| 国产欧美一区二区精品性色 | 欧美系列亚洲系列| 欧美一区二区三区在| 久久这里只有| 欧美亚洲三级| 免费久久精品视频| 欧美亚洲一区| 欧美大尺度在线| 欧美一区二区三区视频在线| 美乳少妇欧美精品| 久久国产精品一区二区三区四区| 久热精品视频在线免费观看| 亚洲欧美经典视频| 欧美成人精品h版在线观看| 亚洲欧美色一区| 免费日韩av片| 久久久久高清| 欧美性大战久久久久久久蜜臀| 美女精品视频一区| 国产精品美女一区二区| 最新成人av网站| 狠狠色综合网| 亚洲欧美激情四射在线日| 亚洲精品日韩激情在线电影| 欧美在线免费视频| 午夜在线a亚洲v天堂网2018| 欧美电影打屁股sp| 欧美不卡视频一区| 国产综合香蕉五月婷在线| 亚洲一级特黄| 亚洲在线1234| 欧美午夜精品久久久久久孕妇| 亚洲成人在线网| 精品成人一区二区| 欧美自拍丝袜亚洲| 久久精品99久久香蕉国产色戒| 欧美日韩在线不卡一区| 亚洲精品黄网在线观看| 亚洲精品欧美日韩| 媚黑女一区二区| 欧美成人一品| 亚洲国内自拍| 免费的成人av| 亚洲电影免费在线观看| **欧美日韩vr在线| 久久亚洲一区二区| 欧美aa在线视频| 亚洲高清毛片| 欧美顶级少妇做爰| 亚洲国产精品激情在线观看 | 欧美视频不卡中文| 一区二区三区视频观看| 亚洲欧美卡通另类91av| 国产精品美女视频网站| 香蕉国产精品偷在线观看不卡| 久久精品国产77777蜜臀| 国模精品娜娜一二三区| 久久久九九九九| 欧美激情在线观看| 一本到高清视频免费精品| 欧美视频网站| 午夜视频久久久久久| 免费试看一区| 9l国产精品久久久久麻豆| 欧美午夜一区二区三区免费大片| 一区二区免费在线观看| 久久久精品2019中文字幕神马| 一区二区在线观看av| 欧美高清在线精品一区| 一区二区免费在线观看| 久久免费午夜影院| 亚洲精品三级| 国产精品视频观看| 久久久水蜜桃av免费网站| 亚洲精品国产精品国产自| 午夜日本精品| 亚洲第一福利在线观看| 欧美色精品在线视频| 欧美一区三区三区高中清蜜桃| 男女视频一区二区| 亚洲综合不卡| 亚洲欧洲一区二区三区在线观看| 国产精品vip| 美女精品国产| 亚洲欧美日韩区| 亚洲人午夜精品免费| 久久经典综合| 亚洲视频axxx| 亚洲国产女人aaa毛片在线| 国产精品网红福利| 欧美高清一区二区| 欧美一区国产在线| 中文日韩欧美| 亚洲日本中文字幕| 免费看亚洲片| 久久精品国产99精品国产亚洲性色| 最新高清无码专区| 黄色一区二区在线观看| 国产精品久久久久免费a∨大胸| 欧美成人精品| 久久一区亚洲| 欧美在线二区| 亚洲欧美资源在线| av成人毛片| 亚洲日本aⅴ片在线观看香蕉| 久久在线免费观看视频| 欧美制服第一页| 亚洲欧美日韩精品| 亚洲一区二区视频| 在线综合亚洲| 亚洲精品影视在线观看| 亚洲福利视频网| 含羞草久久爱69一区| 国产亚洲精品久久久久动| 国产精品网站在线| 国产精品美女主播| 国产精品免费网站在线观看| 欧美新色视频| 国产精品久久久久久亚洲毛片| 欧美午夜电影一区| 欧美视频在线观看免费网址| 欧美日韩第一区日日骚| 欧美日韩精品一区二区在线播放 | 日韩一级免费观看| 夜夜爽夜夜爽精品视频| 亚洲少妇一区| 亚洲欧美视频在线观看| 性色av一区二区怡红| 欧美亚洲在线| 久久久久久久精| 免费看亚洲片| 亚洲人成在线播放网站岛国| 亚洲免费成人av| 亚洲一区二区三区精品视频| 午夜精品久久久99热福利| 欧美一区二区播放| 久久久噜噜噜久久人人看| 麻豆国产精品一区二区三区| 欧美激情精品久久久久久蜜臀| 欧美国产日韩二区| 国产精品户外野外| 国产一区二区精品在线观看| 在线色欧美三级视频| 9色porny自拍视频一区二区| 亚洲免费在线观看视频| 久久婷婷av| 亚洲精品亚洲人成人网| 亚洲综合视频1区| 久久久久免费观看| 欧美伦理在线观看| 国产精品爽爽爽| 在线视频成人| 亚洲一区二区成人| 亚洲一区二区三区免费观看| 国产亚洲va综合人人澡精品| 国产精品免费一区二区三区在线观看 | 国产精品区一区二区三| 国产偷久久久精品专区| 在线看片日韩| 亚洲图片在区色| 久久全国免费视频| 亚洲精品一区二区三区婷婷月| 亚洲午夜在线视频| 美国成人直播| 欧美涩涩视频| 亚洲夫妻自拍| 欧美一区二区观看视频| 亚洲国产精品一区制服丝袜| 亚洲欧美在线高清| 欧美精品色网| 狠狠88综合久久久久综合网| 亚洲午夜激情免费视频| 老色鬼久久亚洲一区二区| 99爱精品视频| 欧美成人精品一区二区| 国产一区二区中文| 亚洲一区二区免费看| 欧美国产成人在线| 午夜精品国产| 亚洲欧美日韩一区二区在线 | 欧美日韩中文在线观看| 一区二区三区在线视频免费观看| 亚洲免费网站| 亚洲精选视频免费看| 免费欧美高清视频| 一区二区在线视频观看|