C# – Windows Forms ile FTP Dosya Transferi

Bu yazıda C# programlama dilini kullanarak, Visual Studio ile oluşturduğumuz “Windows Form Application” türündeki bir proje ile FTP sunucusuna dosya yüklenmesi için gerekli kodları bulabilirsiniz.

Öncelikle sunucuya yüklenecek dosyanın bir resim dosyası olduğunu ve bu dosyanın “OpenFileDialog” aracı ile seçildiğini varsayalım. Bu nedenden ötürü filtre olarak resim dosyalarını tanımlayalım.

Daha sonra bağlanacağımız FTP sunucusunun bilgilerini ayarlayalım. Buradaki “sunucu_ismi”, “kullanici_adi” ve “sifre” bölümlerini kendi sunucumuza göre düzenlememiz gerekmektedir.

Dikkat ederseniz bu adımda OpenFileDialog’dan almış olduğum dosyayı sunucuda oluştruyorum. Sunucuda da “images” klasörünün olduğunu varsayıyorum. Aksi halde “images” klasörünü de açmam gerekirdi.

Sonraki adımda ise resim dosyasını aşağıdaki kodlar ile okuyup Image.Save() fonksiyonunu kullanarak okumak için oluşturduğumuz “Stream”e kaydedelim.

Sunucuya aktarım yapılırken aktarılmak istenen dosya byte dizisi (byte[]) olarak aktarılıp, oluşturulan dosyanın içine yazılır. Bütün bilgiler yazıldığında dosya aktarılmış demektir. Bu nedenden ötürü okuduğumuz resmi bir byte dizisine aktarmamız gerekir. Bu işlemi yapan kod aşağıdaki gibidir.

Son olarak dosyaları sunucuya aktarmak için gerekli kodlar aşağıdaki gibidir.

Bu satırlar ile birlikte dosya aktarımı için gereken kodları tamamlamış bulunuyoruz. Bu kodların hepsini istersek bir Button’un “Click” event’ine, veya bir PictureBox yerleştirip hem Click event’inde yükleyip, hem de gösterek de kullanabiliriz. PictureBox’da açmış olduğumuz resmi göstermek için aşağıdaki kod yeterlidir.

Ek olarak dosyanın yükleme durumu ile ilgili mesajı görmek istersek yorum satırı haline getirdiğim kısmı açarak görebiliriz.