C#-FTP
/// <summary>/// 上傳文件/// </summary>/// <param name="fileinfo">需要上傳的文件</param>/// <param name="targetDir">目標路徑</param>/// <param name="hostname">ftp地址</param>/// <param name="username">ftp用戶名</param>/// <param name="password">ftp密碼</param>public void UploadFile(FileInfo fileinfo, string targetDir, string hostname, string username, string password,string Urlstr){//1. check target//target = Guid.NewGuid().ToString(); //使用臨時文件名string URI = Urlstr ;///WebClient webcl = new WebClient();System.Net.FtpWebRequest ftp = GetRequest(URI, username, password);//設置FTP命令 設置所要執行的FTP命令,//ftp.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails;//假設此處為顯示指定路徑下的文件列表ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile;//指定文件傳輸的數據類型ftp.UseBinary = true;ftp.UsePassive = true;//告訴ftp文件大小ftp.ContentLength = fileinfo.Length;//緩沖大小設置為2KBconst int BufferSize = 2048;byte[] content = new byte[BufferSize - 1 + 1];int dataRead;//打開一個文件流 (System.IO.FileStream) 去讀上傳的文件using (FileStream fs = fileinfo.OpenRead()){try{//把上傳的文件寫入流using (Stream rs = ftp.GetRequestStream()){do{//每次讀文件流的2KBdataRead = fs.Read(content, 0, BufferSize);rs.Write(content, 0, dataRead);} while (!(dataRead < BufferSize));rs.Close();}}catch (Exception ex) { }finally{fs.Close();}SendOk = true;listBox1.Items.Add("同步完成!" + fileinfo.Name + "---" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));SendMessage(listBox1.Handle, WM_VSCROLL, SB_BOTTOM, 0);}ftp = null;}
總結
- 上一篇: C#-Cookie
- 下一篇: C#-Stmp发邮件