FTP หรือ File Transfer Protocol เป็น Protocol มาตรฐานในเครือข่ายชนิดหนึ่ง ใช้สำหรับแลกเปลี่ยนไฟล์ระหว่างคอมพิวเตอร์และจัดการไฟล์บนเครือข่าย TCP/IP ซึ่ง FTP นี้ใช้ในการส่งไฟล์หรือเว็บเพจจากแหล่งที่เก็บไฟล์ข้อมูลหรือเครื่องคอมพิวเตอร์ที่เก็บไฟล์ (Client) ไปยังเครื่องคอมพิวเตอร์แม่ข่าย (Server) หรืออาจจะใช้ FTP ในการดาวน์โหลดโปรแกรมและไฟล์จากเครื่องแม่ข่ายมายังเครื่องคอมพิวเตอร์
คนที่ทำเว็บไซต์หรือคนที่จะฝากไฟล์ จะใช้ FTP ในการปรับปรุงไฟล์บนเครื่อง Server โดยต้องล็อคอินไปที่ FTP server ก่อนแล้วทำการอัพโหลดไฟล์ที่ต้องการแก้ไขผ่านโปรแกรม FTP ขึ้นไปยัง Server โดยโปรแกรม FTP ที่ใช้ในการ Download หรือ Upload ก็มีให้เลือกใช้เยอะ FTP สามารถแบ่งได้สองแบบคือ
1. FTP server – เป็นโปรแกรมที่ถูกติดตั้งไว้ที่เครื่องเซิร์ฟเวอร์ ทำหน้าที่ให้บริการ ftp หากมีการเชื่อมต่อจาก Client เข้าไป
2. FTP client – เป็นโปรแกรม ftp ที่ถูกติดตั้งในเครื่องคอมพิวเตอร์ของ user ทั่วๆไป ทำหน้าที่เชื่อมต่อไปยัง FTP server และทำการอัพโหลด ดาวน์โหลดไฟล์ หรือ จะสั่งแก้ไขชื่อไฟล์ ลบไฟล์ เคลื่อนย้ายไฟล์ก็ได้เช่นกัน
โปรแกรม FTP ก็มีมากมายทั้งแบบฟรี และแบบเสียเงินซื้อ เช่น FileZilla ซึ่งโปรแกรม FileZilla นี้สามารถใช้งานได้ฟรี และมีการปรับเปลี่ยนรุ่นใหม่อยู่เสมอๆ หรือจะเป็น SmartFTP, Cuteftp จะเป็นโปรแกรม FTP ที่ต้องเสียเงินซื้อ
จากนั้นก็เขียนโค้ดดังต่อไปนี้
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; //<-- required for ftp using System.IO; //<-- required for ftp using System.Threading; //<-- required for thread namespace UploadFTP { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string ftpHostName; public string ftpUserID; public string ftpPassword; public void ftpfile(string ftpfilepath, string inputfilepath) { try { string ftpfullpath = ftpHostName + ftpfilepath; FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath); ftp.Credentials = new NetworkCredential(ftpUserID, ftpPassword); ftp.KeepAlive = true; ftp.UseBinary = true; ftp.Method = WebRequestMethods.Ftp.UploadFile; FileStream fs = File.OpenRead(inputfilepath); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Close(); Stream ftpstream = ftp.GetRequestStream(); ftpstream.Write(buffer, 0, buffer.Length); ftpstream.Close(); MessageBox.Show("Success !!"); } catch { MessageBox.Show("Failure !!"); } } private void DoingThread() { ftpfile(@"/new_folder/test1.html", @"C:\test1.html"); // you can change ftpfilepath and inputfilepath here } private void upload_Click(object sender, EventArgs e) { ftpHostName = hostname.Text; //hostname or IP of the ftp server that was given must begin with "ftp://" ftpUserID = userid.Text; ftpPassword = password.Text; Thread done = new Thread(DoingThread); done.Start(); } } }สำหรับการ Download File ผ่านระบบ FTP นั้น สามารถศึกษาโค้ดเพิ่มเติมได้ที่ลิ้งค์นี้เลยครับ
http://msdn.microsoft.com/en-us/library/ms229711.aspx
No comments:
Post a Comment