C# Windows Form İle Ftp Upload Ve ProgressBar’da Yüklenme Oranını Gösterme
11 Temmuz 2018 / 10:03
Burak
Merhaba arkadaşlar c# ile ftp upload ederken ve yüklenme oranın göstermek için aşağıdaki kod satırların kullanabilirsiniz.
Öncelikle tanımlamalarımızı yapıyoruz bunu butonun eventına vss.. yazabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
op.ShowDialog(); var fileIdosnfo = new FileInfo(op.FileName); dosya_adi_lbl.Text = fileIdosnfo.Name; dosya_boyutu_lbl.Text = fileIdosnfo.Length.ToString(); ftpServerIP = "url"; ftpUserName = "kad"; ftpPassword = "sifre"; if (backgroundWorker1.IsBusy == false) { backgroundWorker1.RunWorkerAsync(); } |
Daha sonraBackgroundworker’ın dowork eventına aşağıdaki kodları yazıyoruz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
FileInfo objFile = new FileInfo(op.FileName); string fileName = op.FileName; var ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + objFile.Name)); ftpWebRequest.Credentials = new NetworkCredential(ftpUserName, ftpPassword); ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; using (var inputStream = File.OpenRead(@fileName)) using (var outputStream = ftpWebRequest.GetRequestStream()) { var buffer = new byte[1024 * 1024]; int totalReadBytesCount = 0; int readBytesCount; while ((readBytesCount = inputStream.Read(buffer, 0, buffer.Length)) > 0) { outputStream.Write(buffer, 0, readBytesCount); totalReadBytesCount += readBytesCount; var progress = totalReadBytesCount * 100.0 / inputStream.Length; backgroundWorker1.ReportProgress((int)progress); } } |
Daha sonra backgroundworker’ın ProgressChanged eventına ise aşağıdaki kod satırını ekliyoruz
1 |
progressBar.Value = e.ProgressPercentage; |
Bu kadar 🙂
Bu Yazılarıda Okuyabilirsiniz...
Bir yanıt yazın