private void button2_Click(object sender, EventArgs e) { // khi nhấn nút rename string newName = txtNewName.Text; using (Ftp client = new Ftp()) { // kết nối đến server FTP client.Connect(_ip, _port); client.Login(_username, _password); // nếu là tập tin if (_type == "Là tập tin") { // lấy tên tập tin string oldName = txtOldName.Text; var name = oldName.Split('.'); // thực thi phương thức split cắt ra ở dấu . đuôi mở rộng string duoiMoRong = name[1]; // lấy phần mở rộng để lát gán lại ở giá trị mới client.Rename(oldName, newName + "." + duoiMoRong); // thực thi phương thức rename } // nếu là thư mục thì đổi tên thẳng không cần split else if (_type == "Là thư mục") { client.Rename(txtOldName.Text, newName); } // in câu thông báo hoàn tất MessageBox.Show("Đổi tên hoàn tất."); txtOldName.Text = ""; txtNewName.Text = ""; client.Close(); } }
// Sự kiện form_load private void Main_FTP_Load(object sender, EventArgs e) { // bỏ qua check crossthread khi gọi thread truyền main_load ở mục xóa tập tin/ thư mục CheckForIllegalCrossThreadCalls = false; timer1.Start(); timer1.Enabled = true; SpeedTest st = new SpeedTest(); lblSpeed.Text = "Tốc độ mạng hiện tại : " + st.CheckInternetSpeed() + "Kb/s"; btnBackToHome.Hide(); // ẩn đi nút quay về trang chính lstFTP.Items.Clear(); // xóa hết toàn bộ dữ liệu trong listview lblDownload.Hide(); // ẩn đi thông báo download // using ở đây để khai báo Namespace của thư viện Ftp.dll sử dụng using (Ftp client = new Ftp()) { // kết nối với Server ip với các giá trị bên form login truyền qua client.Connect(_ip, _port); client.Login(_username, _password); /* Khai báo 1 list danh sách các tập tin hiện có trên server * thông qua phương thức getList() */ List <FtpItem> items = client.GetList(); // duyệt qua các đối tượng FtpItem có trong list // rồi in ra trong ListView foreach (FtpItem item in items) { // thêm từng tập tin vào listview ListViewItem ds = new ListViewItem(item.Name); ds.SubItems.Add(item.ModifyDate.ToShortDateString()); ds.SubItems.Add(GetFileSize(Convert.ToInt64(item.Size))); if (item.IsFile == true) { ds.SubItems.Add("Là tập tin"); } if (item.IsFolder == true) { ds.SubItems.Add("Là thư mục"); } try { string filename = item.Name; // lấy toàn bộ tên file ( tên + phần mở rộng) var split = filename.Split('.'); // thực thi phương thức split cắt ra ở dấu . đuôi mở rộng string duoiMoRong = split[1]; // lấy phần mở rộng để gán cột thông tin ds.SubItems.Add(duoiMoRong + " file "); } catch (IndexOutOfRangeException) { // nếu không phải là file thì là thư mục ds.SubItems.Add("Thư mục"); } lstFTP.Items.Add(ds); } client.Close(); } }
// phương thức upload data private void Upload_data() { // using ở đây để khai báo Namespace của thư viện Ftp.dll sử dụng using (Ftp client = new Ftp()) { client.Connect(_ip, _port); // thực thi phương thức connect(Ip, port, false/true ( nếu Server có SSL thì là true, còn không có thì mặc định sẽ là False) client.Login(_username, _password); // username login vào Sever thông qua phương thức Login(username, password) client.Upload(txtFileName.Text, txtPath.Text); // thực thi phương thức upload( tên file cần upload, đường dẫn tuyệt đối tới file đó) client.Close(); } }
// Phương thức download file truyền vào đối tượng client và tên tập tin muốn download private void DownloadFile(Ftp client, string filename, string path) { // Bỏ qua kiểm tra crossthread CheckForIllegalCrossThreadCalls = false; client.Connect(_ip, _port); // kết nối đến server FTP client.Login(_username, _password); // thực thi phương thức download(tên tập tin muốn download, vị trí lưu) // vị trí lưu ở đây là folder được chọn từ user. client.Download(filename, path + "\\" + filename); // thực thi phương thức download(tên file muốn download, vị trí lưu) client.Close(); }
// sự kiện nhấn nút tạo mới thư mục private void button1_Click(object sender, EventArgs e) { // kiểm tra nếu bỏ trống thì thông báo lỗi if (string.IsNullOrEmpty(txtFolder.Text)) { MessageBox.Show("Không được bỏ trống!"); } string folder = txtFolder.Text; // lấy tên thư mục mới using (Ftp client = new Ftp()) { // kết nối đến server FTP client.Connect(_ip, _port); client.Login(_username, _password); // thực thi phương thức tạo mới thư mục CreateFolder(tên thư mục tạo mới) client.CreateFolder(folder); // in câu thông báo MessageBox.Show("Đã tạo thư mục tên: " + folder); client.Close(); } }