Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.IO;
- using System.Net;
- namespace FTP
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- struct FtpSetting
- {
- public string Server { get; set; }
- public string Username { get; set; }
- public string Password { get; set; }
- public string FileName { get; set; }
- public string FullName { get; set; }
- }
- FtpSetting _inputParameter;
- private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
- {
- string file = ((FtpSetting)e.Argument).FileName;
- string fullName = ((FtpSetting)e.Argument).FullName;
- string userName = ((FtpSetting)e.Argument).Username;
- string password = ((FtpSetting)e.Argument).Password;
- string server = ((FtpSetting)e.Argument).Server;
- FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(string.Format("{0}/{1}", server, file)));
- request.Method = WebRequestMethods.Ftp.UploadFile;
- request.Credentials = new NetworkCredential(userName, password);
- Stream ftpStream = request.GetRequestStream();
- FileStream fs = File.OpenRead(fullName);
- byte[] buffer = new byte[1024];
- double total = (double)fs.Length;
- int byteRead = 0;
- double read = 0;
- do
- {
- if (!backgroundWorker.CancellationPending)
- {
- byteRead = fs.Read(buffer, 0, 1024);
- ftpStream.Write(buffer, 0, byteRead);
- read += (double)byteRead;
- double percentage = read / total * 100;
- backgroundWorker.ReportProgress((int)percentage);
- }
- }
- while (byteRead != 0);
- fs.Close();
- ftpStream.Close();
- }
- private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- lblStatus.Text = $"Uploaded {e.ProgressPercentage} %";
- bunifuProgressBar1.Value = e.ProgressPercentage;
- bunifuProgressBar1.Update();
- }
- private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- lblStatus.Text = "Upload Complete!";
- }
- private void btnUpload_Click(object sender, EventArgs e)
- {
- using (OpenFileDialog ofd = new OpenFileDialog() { Multiselect = false, ValidateNames = true, Filter = "All files|*.* " })
- if (ofd.ShowDialog() == DialogResult.OK)
- {
- FileInfo fi = new FileInfo(ofd.FileName);
- _inputParameter.Username = txtUsername.Text;
- _inputParameter.Password = txtPassword.Text;
- _inputParameter.Server = txtServer.Text;
- _inputParameter.FileName = fi.Name;
- _inputParameter.FullName = fi.FullName;
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- MessageBox.Show("Created by Lucas Gabriel");
- }
- private void button2_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement