24 Mei 2014

Upload File FTP dengan Visual Basic NET 2008

Anda yang sering bongkar website pasti tahu yang namanya FTP (File Transfer Protocol) , FTP juga ... thumbnail 1 summary

Anda yang sering bongkar website pasti tahu yang namanya FTP (File Transfer Protocol) , FTP juga dapat dibuat pada jaringan LAN (Filezilla Server) . Intinya FTP ini adalah cara untuk memudahkan transfer data secara rahasia (menggunakan username dan password serta lokasi tertentu) .

Sekarang, kita membahas bagaimana caranya upload file ke FTP Server melalui Visual Basic NET.

Alat tempur yang diperlukan :

1. Visual Basic 2008 ++
2. Library FTP Client yang dapat diunduh di sini (ada juga dalam paketan download, folder library)

Sekarang mari kita membuat kodenya :

Extract library yang di download tadi pada sebuah folder (terserah mau dimana). Buatlah project baru lalu klik menu Project -> Add Reference , Pilih tab browse lalu cari file FtpClientVB.dll
Sekarang buatlah sebuah module modFTP (contoh):
ketikkan kode dibawah ini :
Imports Utilities.FTP.FTPclient
lalu dibawah kode Module modFTP , buatlah sebuah deklarasi variable FTP Clientnya
Dim p As New Utilities.FTP.FTPclient
Sekarang mari kita daftarkan sebuah Sub pada module tersebut yang berfungsi untuk inisialkan koneksi host ftp, username ftp dan password ftp

Public Sub ConnectFTP(ByVal hostFTP As String, ByVal userFTP As String, ByVal passFTP As String)
        p.Hostname = hostFTP
        p.Username = userFTP
        p.Password = passFTP
        p.KeepAlive = False      
End Sub
Terlihat dimana parameter Sub tersebut ada hostFTP , userFTP dan passFTP , maka deklarasikan lagi variable p tersebut sesuai parameter library nya. parameter Keep Alive adalah dimana FTP tersebut setelah mengeksekusi upload atau download atau perintah FTP lainnya, maka koneksi langsung dikeluarkan

Setelah deklarasi koneksi, mari kita bikin sebuah Sub untuk Upload File
Public Sub UploadFile(ByVal namaFile As String, ByVal lokasi As String)
        Dim fileInfo As New System.IO.FileInfo(namaFile)
        Dim namaaja As String = fileInfo.Name
        Form1.Cursor = Cursors.WaitCursor
        If p.FtpFileExists(lokasi & namaaja) = False Then
            If p.Upload(namaFile, lokasi & namaaja) Then
                Form1.Cursor = Cursors.Default
                MsgBox("Sudah diupload")
            End If
        Else
            p.FtpDelete(lokasi & namaaja)
            If p.Upload(namaFile, lokasi & namaaja) Then
                Form1.Cursor = Cursors.Default
                MsgBox("Sudah diupload")
            End If
End If
Ada 2 parameter Sub UploadFile , namaFile dan lokasi . namaFile dimana nantinya lokasi file pada komputer anda, lokasi adalah variable letak folder pada FTP, misal pada CPANEL ada folder public_html/
Dari kode di atas, pertama sekali yang dilakukan oleh aplikasi ini adalah cek file yang sama namanya. Jika tidak ada maka upload, jika ada maka hapus dahulu filenya lalu upload kembali :)

Sekarang buatlah sebuah form seperti gambar di bawah ini :

Ok, di sini tugas mandiri anda hehehe ... cobalah gunakan fungsi untuk membuka file pada button pilih file dan deklarasikan info FTP anda. Klo ga tahu info FTP anda , cari tahu sendiri hehehe
Setelah desain form dibikin, gunakan fungsi-fungsi pada module tadi

Klo anda ga ingin susah-susah bikinnya, saya udah sediakan source code nya di bawah ini