Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO;
  10. using System.Net;
  11.  
  12. namespace FTP
  13. {
  14. public partial class Form1 : Form
  15. {
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. }
  20. struct FtpSetting
  21. {
  22. public string Server { get; set; }
  23. public string Username { get; set; }
  24. public string Password { get; set; }
  25. public string FileName { get; set; }
  26. public string FullName { get; set; }
  27. }
  28. FtpSetting _inputParameter;
  29. private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
  30. {
  31. string file = ((FtpSetting)e.Argument).FileName;
  32. string fullName = ((FtpSetting)e.Argument).FullName;
  33. string userName = ((FtpSetting)e.Argument).Username;
  34. string password = ((FtpSetting)e.Argument).Password;
  35. string server = ((FtpSetting)e.Argument).Server;
  36. FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(string.Format("{0}/{1}", server, file)));
  37. request.Method = WebRequestMethods.Ftp.UploadFile;
  38. request.Credentials = new NetworkCredential(userName, password);
  39. Stream ftpStream = request.GetRequestStream();
  40. FileStream fs = File.OpenRead(fullName);
  41. byte[] buffer = new byte[1024];
  42. double total = (double)fs.Length;
  43. int byteRead = 0;
  44. double read = 0;
  45. do
  46. {
  47. if (!backgroundWorker.CancellationPending)
  48. {
  49.  
  50.  
  51. byteRead = fs.Read(buffer, 0, 1024);
  52. ftpStream.Write(buffer, 0, byteRead);
  53. read += (double)byteRead;
  54. double percentage = read / total * 100;
  55. backgroundWorker.ReportProgress((int)percentage);
  56. }
  57. }
  58. while (byteRead != 0);
  59. fs.Close();
  60. ftpStream.Close();
  61. }
  62.  
  63. private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
  64. {
  65. lblStatus.Text = $"Uploaded {e.ProgressPercentage} %";
  66. bunifuProgressBar1.Value = e.ProgressPercentage;
  67. bunifuProgressBar1.Update();
  68.  
  69. }
  70.  
  71. private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
  72. {
  73. lblStatus.Text = "Upload Complete!";
  74. }
  75.  
  76. private void btnUpload_Click(object sender, EventArgs e)
  77. {
  78. using (OpenFileDialog ofd = new OpenFileDialog() { Multiselect = false, ValidateNames = true, Filter = "All files|*.* " })
  79. if (ofd.ShowDialog() == DialogResult.OK)
  80. {
  81. FileInfo fi = new FileInfo(ofd.FileName);
  82. _inputParameter.Username = txtUsername.Text;
  83. _inputParameter.Password = txtPassword.Text;
  84. _inputParameter.Server = txtServer.Text;
  85. _inputParameter.FileName = fi.Name;
  86. _inputParameter.FullName = fi.FullName;
  87. }
  88. }
  89.  
  90. private void button1_Click(object sender, EventArgs e)
  91. {
  92. MessageBox.Show("Created by Lucas Gabriel");
  93. }
  94.  
  95. private void button2_Click(object sender, EventArgs e)
  96. {
  97. this.Close();
  98. }
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement