ASP.NET
Network Akademi

Met Hostimg

“Bilgi paylaşıldıkça artar” sloganı ile .NET Platformuna ilişkin birikimlerin paylaşıldığı ASP.NET.TR Topluluğunda sizde “YAZAR” olmak için ; info@asp.net.tr e-mail adresine kendinizi anlatan bir e-mail göndererek başvuruda bulunabilirsiniz.

C# FTP ile Dosya Gönderme

Veysel Uğur KIZMAZ
C#.NET
13.08.2011 20:56:01
Hit : 4039

Merhaba arkadaşlar,

FTP, yani Dosya Transfer Protokolünü (File Transfer Protocol) kullanarak web C# uygulamamız ile web sitemize dosya gönderme işlemini gerçekleştireceğiz.

Öncelikle FTP ile ilgili bilgi vermek istiyorum. FTP, yani File Transfer Protocol, internet bağlantısı olan iki bilgisayar arasında dosya aktarımı yapılmasını sağlayan bir protokoldür ve ilk kullanılan internet protokolleri arasındadır.

Dosya alışveriş işlemi sırasında iki bilgisayar arasında bağlantı kurulur ve bu protokolün sağladığı komutlar sayesinde bilgisayarlar arasında dosya alışverişi sağlanır.

Bu protokol, günümüzde yaygın olarak web sayfalarının yayınlanması için kullanılmaktadır. Bazı firmalar tarafından yazılmış olan FTP yazılımları sayesinde bağlanmak istediğimiz sunucu adresini, kullanıcı adını ve şifresini yazarak sunucu içerisinde, bize izin verilen klasöre bağlantı yapabiliyor, belirlenen sınırlar doğrultusunda dosya alma ve gönderme işlemlerini yapabiliyoruz.

Dosya gönderme işlemi için C# kodları ve açıklamaları aşağıdadır.

     public string UploadFileToFtp(string dosyaAdi)

        {

            ftpServerIP = "ftp.ugurkizmaz.com";

            FileInfo dosyaBilgisi = new FileInfo(dosyaAdi);

            string uri = "ftp://" + ftpServerIP + "/" + dosyaBilgisi.Name;

            FtpWebRequest ftpIstegi;

 

            ftpIstegi = (FtpWebRequest)FtpWebRequest.Create(new Uri(

                      "ftp://" + ftpServerIP + "/" + dosyaBilgisi.Name));

 

            ftpIstegi.Credentials = new NetworkCredential("deneme@ugurkizmaz.com","123");

           
            // Bağlantıyı sürekli açık tutuyor.

            ftpIstegi.KeepAlive = false;

 

            // Yapılacak işlem (Upload)

            ftpIstegi.Method = WebRequestMethods.Ftp.UploadFile;

 

            //Verinin gönderim şekli.

            ftpIstegi.UseBinary = true;

 

            //Sunucuya gönderilecek dosya uzunluğu bilgisi

            ftpIstegi.ContentLength = dosyaBilgisi.Length;

 

            // Buffer uzunluğu 2048 byte

            int bufferUzunlugu = 2048;

            byte[] buff = new byte[10000000];

            int sayi;

 

            FileStream stream = dosyaBilgisi.OpenRead();

 

            try

            {

                Stream str = ftpIstegi.GetRequestStream();

 

                sayi = stream.Read(buff, 0, bufferUzunlugu);

 

                while (sayi != 0)

                {

                    str.Write(buff, 0, sayi);

                    sayi = stream.Read(buff, 0, bufferUzunlugu);

                }

                return "";

 

                str.Close();

                stream.Close();

            }

            catch (Exception ex)

            {

                return ex.Message;

            }

        }

 

 

Veysel Uğur KIZMAZ

Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com

 

 


Tag c# » ftp » dosya gönderme » »


BU İÇERİĞE YORUMDA BULUNUN


Bu MAKALE'ye yorum yapabilmek için Üye olmalısınız ...!


BU İÇERİĞE YAPILAN YORUMLAR