02/10/2018, 11:31

[VB.NET] Hướng dẫn sử dụng Drag drop Multi file to ListBox và Upload file lên FTP Server

Hi! Xin chào tất cả các bạn, thời gian đã ủng hộ laptrinhvb.net. Bài viết hôm nay, mình xin hướng dẫn các bạn sử dụng chức năng Drag and Drop nhiều file vào ListBox và sử dụng vòng lặp để duyệt tất cả các File vừa chọn upload lên FTP server . FTP ...

Hi! Xin chào tất cả các bạn, thời gian đã ủng hộ laptrinhvb.net. Bài viết hôm nay, mình xin hướng dẫn các bạn sử dụng chức năng Drag and Drop nhiều file vào ListBox và sử dụng vòng lặp để duyệt tất cả các File vừa chọn upload lên FTP server.

FTP (viết tắt của File Transfer Protocol dịch ra "Giao thức truyền tập tin") thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet - mạng ngoại bộ - hoặc Intranet - mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách).

Giao diện demo ứng dụng Upload File FTP server VB.NET

Hướng dẫn lập trình upload file lên FTP server vb.net

Để thực hiện bài demo này, các bạn tạo cho mình: 

+ Một listbox 

+ Một button để upload lên FTP Server.

Trong bài viết này, mình sử dụng File zilla để tạo FTP server và tạo username: nguyenthao và password: 123456 cho FTP server.

Tạo FTP server bằng Filezilla trong Xampp

- Đầu tiên chúng ta cần import thư viện vào xử lý file vào

Imports System.IO

- Viết đến mình sẽ viết 2 sự kiện DrapDrop và Drap Enter của Listbox. (các bạn nhớ chọn thuộc tính AllowDrop của Listbox để listbox cho phép chúng ta drap và drop tập tin vào nhé)

 Private Sub ListBox1_DragDrop(sender As Object, e As DragEventArgs) Handles lstSelectMultiFile.DragDrop
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            Dim filePaths As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
            For Each fileLoc As String In filePaths
                lstSelectMultiFile.Items.Add(fileLoc)
            Next fileLoc
        End If
    End Sub
    Private Sub ListBox1_DragEnter(sender As Object, e As DragEventArgs) Handles lstSelectMultiFile.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub

- Sau khi chúng ta chọn các tập tin cần upload lên FTP server xong, chúng ta sử dụng vào lặp foreach để đọc tập cả các item trong Listbox và lần lượt upload chúng lên FTP.

Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
        For Each item As String In lstSelectMultiFile.Items
            Dim filename As String
            filename = Path.GetFileName(item)
            Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://127.0.0.1/ftp/" + filename), System.Net.FtpWebRequest)
            request.Credentials = New System.Net.NetworkCredential("nguyenthao", "123456")
            request.Method = System.Net.WebRequestMethods.Ftp.UploadFile

            Dim file() As Byte = System.IO.File.ReadAllBytes(item)

            Dim strz As System.IO.Stream = request.GetRequestStream()
            strz.Write(file, 0, file.Length)
            strz.Close()
            strz.Dispose()
        Next
    End Sub

Và dưới đây là video demo của ứng dụng:

Cám ơn các bạn đã theo dõi. 

DOWNLOAD SOURCE

Tags: ftpserverupload filelistboxlistview
0