Beberapa alternatif menampilkan file gambar via jaringan
Di beberapa aplikasi seperti sistem informasi sekolah mengharuskan kita untuk menampilkan gambar pada form-form tertentu seperti Logo Sekolah, TTD Kepala Sekolah dan Foto Guru/Siswa.
Adapun komponen standar yang biasa digunakan untuk menampilkan gambar di Visual Basic adalah komponen Image dan PictureBox. Kodenya pun sangat sederhana bisa kita lihat seperti dibawah ini :
Private Sub cmdLoadFoto_Click()
picSiswa.Picture = LoadPicture("Lokasi_file_gambar\file_foto.jpg")
End Sub
dan berdasarkan kode sederhana diatas akan kita kembangkan kodenya agar bisa menampilkan gambar via jaringan :
1. Menyimpan gambar langsung di database
Cara ini sangat efektif sekali untuk menyimpan gambar yang ukurannya kecil dan tidak terlalu banyak, misal logo sekolah atau TTD kepala sekolah. Jadi hilangkan pikiran2x kotor
untuk menyimpan foto-foto guru/siswa langsung didatabase karena hal ini akan mempengaruhi kinerja database, walaupun jaman sekarang hardisk2xnya udah gede tapi tetap saja menyimpan gambar secara langsung (dalam jumlah banyak) kurang baik untuk kesehatan database
.
Bagaimana cara menyimpan dan menampilkan gambar dari database sudah saya bahas tuntas diSINI.
2. Share folder
Nah klo file gambarnya lumayan banyak seperti foto guru/siswa, cara ini mungkin bisa dicoba. Jadi foto guru/siswanya dikumpulkan di dalam 1 folder kemudian di share, selanjutnya dari aplikasi tinggal panggil seperti berikut :
Private Sub cmdLoadFoto_Click()
picSiswa.Picture = LoadPicture("\\ip_server\folder_yg_dishare\file_foto.jpg")
'atau dengan menyebutkan langsung nama komputer
picSiswa.Picture = LoadPicture("\\nama_komputer_server\folder_yg_dishare\file_foto.jpg")
End Sub
Permasalah yang sering muncul menggunakan cara ini adalah, folder yang dishare gagal/tidak dapat diakses dari komputer lain dan tentu saja kode diatas juga akan gagal menampilkan gambarnya.
Jika Anda menemukan kasus seperti ini, mungkin langkah-langkah berikut bisa di coba :
- Mengaktifkan File and Printer Sharing
- Mengaktifkan pilihan Use simple file sharing pada setting folder option
- Menyamakan user dan password komputer server dan klien
- Menonaktifkan windows firewall
Jika langkah-langkah diatas masih gagal juga, mungkin kita akan coba cara yang terakhir.
3. Memanfaatkan service FTP
Untuk mengaktifkan service FTP di windows (untuk contoh disini saya menggunakan windows xp sp2) kita bisa menggunakan Internet Information Services (IIS) atau memanfaatkan tool gratis yg banyak beredar dipasaran seperti FileZilla Server dan di artikel ini saya menggunakan FileZilla Server. Oke langsung saja download filenya diSINI.
Berikut langkah-langkah instalasi plus konfigurasinya.
1. Instalasi
Jalankan file FileZilla Server yang sudah Anda download kemudian tinggal ikuti saja wizard instalasinya.
2. Menambahkan group user
Disini kita akan menambahkan group dan user yang diberi izin untuk mengakses folder tertentu, dalam hal ini folder foto.
Setelah proses instalasi diatas selesai kita langsung dihadapkan pada form login.
Isikan password Administrator misalkan “admin”, setelah itu akan tampil form utama FileZilla Server Interface.
kemudian klik tombol toolber user group, setelah itu akan tampil dialog untuk menambahkan user group
isikan nama group misal “akses_foto” seperti gambar diatas, selanjutkan kita akan menentukan folder yang akan diakses dengan mengaktifkan node Shared folders
3. Menambahkan user
kemudian klik tombol toolbar user accounts, setelah itu akan tampil dialog untuk menambahkan user.
kemudian jangan lupa isikan password usernya, misal “rahasia”
Langkah-langkah untuk menambahkan group dan user cukup sampai disini.
4. Mendaftarkan port FTP
Agar port FTP (defaultnya 21) bisa diakses komputer lain, maka port tersebut harus kita daftarkan di windows firewall. Jika windows firewallnya dinonaktifkan maka langkah-langkah ini bisa kita abaikan.
Berikut langkah-langkah mendaftarkan port FTP.
1. Masuk ke Control Panel -> Windows Firewall, kemudian aktifkan tab Exceptions
2. Klik tombol Add Port, kemudian isikan informasi Name dan Port number
3. Jika berhasil pada list Programs and Services akan ditampilkan port yang baru kita daftarkan
5. Ngetes service FTP via command prompt
Setelah semua proses selesai mulai dari instalasi, konfigurasi group dan user yang diakhiri dengan mendaftarkan port FTP, saatnya kita mencoba untuk mengetes service FTPnya dari komputer lain.
Dengan asumsi ip server adalah “192.168.0.6″, kita masuk ke dos prompt kemudian ketik ftp 192.168.0.6
Jika konfigurasi service FTP yang kita lakukan dilangkah-langkah sebelumnya benar, kita akan diminta untuk memasukkan username dan password dan jika berhasil prompt akan berganti menjadi ftp> yang menandakan bahwa username dan password kita benar.
Untuk testing lebih lanjut, kita akan coba menampilkan daftar direktori dan file dengan printah ls.

terakhir untuk keluar dari prompt ftp ketik printah bye.

Sampe disini semua persiapan kita sudah selesai dan saatnya mengeluarkan jurus pamungkas
untuk mengakses service FTP dari vb.
Ada banyak referensi salah satunya bisa langsung merujuk ke sumber Microsoft atau yang paling gampang dengan memanfaatkan kelas FTPClass, untuk contoh disini saya akan menggunakan kelas FTPClass.
Berikut contoh penggunaan kelas tersebut.
1. Menampilkan daftar direktori dan file
Private Sub cmdDaftarFile_Click()
Dim objFTP As FTPClass
Dim objFTPFile As FTPFileClass
Dim serverName As String
Dim userName As String
Dim password As String
serverName = "192.168.0.6"
userName = "k4m4r82"
password = "rahasia"
Set objFTP = New FTPClass
If objFTP.OpenFTP(serverName, userName, password) Then
If objFTP.SetCurrentFolder("/") Then
For Each objFTPFile In objFTP.Files
List1.AddItem objFTPFile.FileName
Next
End If
objFTP.CloseFTP
Else
'TODO : tampilkan pesan gagal membuka port FTP
End If
Set objFTP = Nothing
End Sub
2. Menampilkan file gambar sesuai dengan pembahasan inti artikel kita kali ini
Private Sub cmdLoadFoto_Click()
Dim objFTP As FTPClass
Dim serverName As String
Dim userName As String
Dim password As String
Dim foto As String
serverName = "192.168.0.6"
userName = "k4m4r82"
password = "rahasia"
foto = "02024112.jpg" 'contoh nama file gambar yang ingin ditampilkan
Set objFTP = New FTPClass
If objFTP.OpenFTP(serverName, userName, password) Then
If objFTP.SetCurrentFolder("/") Then
If objFTP.FileExists(foto) Then 'cek dulu file gambarnya dan jika ada...
Call objFTP.GetFile(foto, App.Path & "\" & foto, True) 'download file gambarnya ke komputer lokal
picSiswa.Picture = LoadPicture(App.Path & "\" & foto) 'baru ditampilkan
End If
End If
objFTP.CloseFTP
Else
'TODO : tampilkan pesan gagal membuka port FTP
End If
Set objFTP = Nothing
End Sub
Selamat MENCOBA


























Admin: Terima kasih atas tutor yang sangat bermanfaat ini! Tetap semangat dan maju terus!!!
Salam
delphifocus
Tq om udah mampir lagi
wah keren keren., sampe bingung bacanya aKu.,., gagagagagag,.,.,.
dah aku pasang linknya loh mas Rudi., ^^
Oke veef, tq
wedew.. saya kira bikin remote desktop kyk om sanosuke.. hehehehe
salah sangka rupanya..
BTW mantab om tutornya
remote desktopnya om sanosuke emg udah jadi ya? kayaxnya terakhir kontax masih pusing gitu
wah saya jg kurang tau om hehehe
Makasih bang admin atas tutornya, tutorialnya keren
Oke om sama2x
mas, kenapa di komputerku tidak bisa ya, sudah saya setting persis seperti tutorial diatas, saya mencoba dengan 1pc dan 1 notebook acer, di pc sebagai server dan notebook nya sebagai client,
keterangan:
ip pc 192.168.0.2
ip notebook 192.168.0.1
dari notebook saya ketik : ftp 192.168.0.2
pesan yang muncul = >ftp: connect Unknown error number
tapi kalau saya ping 192.168.0.2 connect
pada firewall nya juga sudah saya setting
kemungkinan apa ya mas? mohon bantuannya
kayaxnya error “ftp: connect Unknown error number” udah banyak yg bahas diinternet, atw om coba dulu testing ftp lokalan.
Makasaih om infonya….kebetulan mau buat scedhuler download and upload ke ftp nich
Sama2x om
Boss, dikomputerku ko ga bisa log-in ya….padahal connect ke ftpnya sudah OK,settingannya juga sama persis dengan apa yang sudah Boss jelaskan.
tapi pas coba di CMD saya masukin user ma pass nya ga mo log-in.padahal user ma pass nya sudah sama.itu kira-kira knapa ya..dan bagaimana solusinya?
aku pasang fizilla ini di windows 2003 server.
Loh si om katanya udah connect ke ftp tapi enggak bisa login ? Trus taunya connect dari mana ?
coba conect ke localnya dulu om, bari dr komputer laen.
Maksudku gini lo boss, pas di CMD itu kan aku ketikin
ftp ip address
dan muncul connect to ip address
terus minta diketikkan username,aku masukkan usernamenya…kemudian enter
terus minta password aku masukkan juga …nah pas aku enter
katanya error 530 User (myUserName) cannot log-in .
login failed.
padahal username sama passwordnya sudah sama,sudah saya cek berulang-ulang create user baru lagi hasilnya tetep sama, termasuk yg boss saranin coba connect dari kompi lain…dia minta username ma password tapi ketika asku masukkin hasilnya selalu sama login-failed.nah itu gmn boss…tolong solusinya?
oke om berarti instalasi FileZilla Server sukses, mungkin yg bermasalah pada saat pembuatan group dan usernya, jd klo om memang sempat coba emailkan capture pada saat pembuatan group dan user plus tes connect via cmdnya, seperti langkah2x sy diatas.
Mz Admin Tanya,, klo prosesnya gini, tampilkan gambar by webcam di picture Box trus simpannya di drive komputer lain via ftp codenya gmana y bingung??
Klo nangkep gambar yg di webcam bisa langsung cek disini om, nanti hasil capturenya disimpan di lokalan trus tinggal diupload via ftp susuai petunjuk diatas.
klo nangkap gbr via webcam sdah bisa om,,tpi pada saat save pengennya gambar langsung msuk drive server g usah simpan di lokal dulu mohon bantuannya….sebelumnya thanx y om atas jawabanya
Class ftp diatas enggak support om yg seperti itu, soalnya method PutFile yg digunakan untuk mengupload file membutuhkan parameter lokasi file.
Kan filenya setelah sukses diupload langsung dihapus aja om
kalo untuk coding uploadnya di bagian mana to om,,ak agak bingung soalnya,,y maklum masih belajar kemampuan analisa masih lemah…atas jawabannya thanx lgi y om moga2 dapat berguna buat umat buat sya dan temen2 lain yang pnya kasus yg sma…
Coba gini om :
Dim objFTP As FTPClass Set objFTP = New FTPClass If objFTP.OpenFTP(SERVER, USER_NAME, USER_PASS) Then If objFTP.SetCurrentFolder("/") Then If objFTP.PutFile("LOKASI_FILE\NAMA_FILE", "NAMA_FILE", True) Then MsgBox "upload sukses" End If End If objFTP.CloseFTP End If Set objFTP = Nothingmaz admin,,sdah sya cba-cba tetep g bisa jew, g bisa upload file dari webcam di picture box ke folder FTP,..ini coding saya tolong dikoreksi mz newbie ni :
Private Sub cmdUpload_Click()
Dim objFTP As FTPClass
Dim ServerName As String
Dim Username As String
Dim Password As String
Dim foto As String
ServerName = “127.0.0.1″
Username = “hari”
Password = “amboy”
foto = Text.Text + “.jpg” ‘nama gambar yang di upload
Set objFTP = New FTPClass
If objFTP.OpenFTP(ServerName, Username, Password) Then
If objFTP.SetCurrentFolder(“/”) Then
If objFTP.PutFile(“FTP\picSiswa”, “picSiswa”, True) Then
MsgBox “upload sukses”
End If
End If
objFTP.CloseFTP
End If
Set objFTP = Nothing
End Sub
oh iya sebelumnya thanx y om
Untuk memudahkan mencari kesalahannya om, mendingan om test dulu upload sembarang file klo enggak bisa berarti ada yg enggak benar di settingan di FTPnya
klo sya cba pke filezilla client server dah OK tu om,,n tk pke sourcecode yang diatas juga dah bsa n maknyus,,tpi saya agak bingung cara simpan gambar dr webcam via ftp,, jadi maunya sich dari picturebox trus gamabr capture dari webcam namanya sesuai dengan nama yang kita berikan di texbox gtu om,,kira2 bsa g y…klo mang ftpnya g support ya mau diapain lgi
Makanya jadi programmer itu harus banyak solusi om, untuk nyimpan gambar langsung dari webcam kan memang enggak bisa (CMIIW).
Sekarang pertanyaannya waktu proses capture sedang berlangsung, hasil capturenya om tampilkan dimana ??? PictureBox atau Image ???
Sy asumsikan om menampilkannya ke objek PictureBox, nah waktu proses capturenya om stop hasil gambarnya kan masih nyantol di PictureBoxnya, jadi om tinggal simpan aja gambar yg nyantol di PictureBox ke dalam bentuk file pake perintah ini :
Untuk kode di event tombol stopnya lebih kurang seperti ini :
Private Sub cmdStop_Click() ' TODO : perintah untuk menyetop proses capture ' simpan hasil capture ke dalam bentuk file ' dengan asumsi capture ditampilkan ke objek PictureBox Call SavePicture(Picture1.Picture, "c:\hasil_capture.jpg") ' nah dari sini baru bisa dilakukan proses upload ke FTP SERVER ' karena file gambarnya sudah ada Dim objFTP As FTPClass Set objFTP = New FTPClass If objFTP.OpenFTP(SERVER, USER_NAME, USER_PASS) Then If objFTP.SetCurrentFolder("/") Then If objFTP.PutFile("c:\hasil_capture.jpg", "hasil_capture.jpg", True) Then MsgBox "upload sukses" End If End If objFTP.CloseFTP End If Set objFTP = Nothing End SubGimana om simple bukan ?
ok om,,siap sdah berhasl qo…trus berkarya n met Menunaikan Ibadah Puasa,,..hidup programer vb indonesia
ok sdah bisa qo om,,trus berkarya n met Menunaikan Ibadah Puasa..,,hidup programer vb indonesia
Oke om
mantab om….(^_^)
Tq om udah mampir
Om Amdin,…
saya mau tanya, kenapa ukuran file yang ditranser menjadi lebih besar dari ukuran file sebelumnya.? ukuran file sebelum dtransfer 1,37 MB, tetapi setelah ditransfer ukuran file nya lebih dari 1GB. Mohon pencerahan om Admin…
Ah yg benar aja om, sy udah sering make class ftp diatas enggak pernah ada masalah
iya om..
lalu untuk menghapus nya memakai ftp class gmn om.?
Kan tinggal manggil method DeleteFilenya om
ok om..
thx atas info nya..
Sama2x om
om admin, ada contoh yg lebih spesifik g untuk proses update dan delete nya..
mohon pencerahan nya om.
msh new bie nh
thx.
Klo update enggak ada om
, jadi bisa diwakili dengan 2 proses yaitu Delete dan Put
Contoh pemakaianya sama kode diatas tinggal ganti aja nama methodnya, makanya dicoba dulu ada masalah baru bertanya.
Thx om admin..
masalah sudah terpecahkan…
Oke om sippp