Guest User

Untitled

a guest
Feb 14th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. const string UserName = "userName";
  2. const string Password = "password";
  3. const string ServerIp = "11.22.333.444/";
  4.  
  5. public bool UploadFile(HttpPostedFileBase file)
  6. {
  7. string fileName = file.FileName;
  8.  
  9. var serverUri = new Uri("ftp://" + ServerIp + fileName);
  10.  
  11.  
  12. // the serverUri should start with the ftp:// scheme.
  13. if (serverUri.Scheme != Uri.UriSchemeFtp)
  14. return false;
  15.  
  16. try
  17. {
  18. // get the object used to communicate with the server.
  19. var request = (FtpWebRequest)WebRequest.Create(serverUri);
  20.  
  21. request.EnableSsl = true;
  22. request.UsePassive = true;
  23. request.UseBinary = true;
  24. request.Credentials = new NetworkCredential(UserName, Password);
  25. request.Method = WebRequestMethods.Ftp.UploadFile;
  26.  
  27. // read file into byte array
  28. var sourceStream = new StreamReader(file.InputStream);
  29. byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
  30. sourceStream.Close();
  31. request.ContentLength = fileContents.Length;
  32.  
  33. // send bytes to server
  34. Stream requestStream = request.GetRequestStream();
  35. requestStream.Write(fileContents, 0, fileContents.Length);
  36. requestStream.Close();
  37.  
  38. var response = (FtpWebResponse)request.GetResponse();
  39. Console.WriteLine("Response status: {0}", response.StatusDescription);
  40. }
  41. catch (Exception exc)
  42. {
  43. throw exc;
  44. }
  45. return true;
  46. }
  47.  
  48. // you could pass the host, port, usr, and pass as parameters
  49. public void FileUploadSFTP()
  50. {
  51. var host = "whateverthehostis.com";
  52. var port = 22;
  53. var username = "username";
  54. var password = "passw0rd";
  55.  
  56. // http://stackoverflow.com/questions/18757097/writing-data-into-csv-file/39535867#39535867
  57. byte[] csvFile = DownloadCSV(); // Function returns byte[] csv file
  58.  
  59. using (var client = new SftpClient(host, port, username, password))
  60. {
  61. client.Connect();
  62. if (client.IsConnected)
  63. {
  64. Debug.WriteLine("I'm connected to the client");
  65.  
  66. using (var ms = new MemoryStream(csvFile))
  67. {
  68. client.BufferSize = (uint)ms.Length; // bypass Payload error large files
  69. client.UploadFile(ms, GetListFileName());
  70. }
  71. }
  72. else
  73. {
  74. Debug.WriteLine("I couldn't connect");
  75. }
  76. }
  77. }
  78.  
  79. // you could pass the host, port, usr, pass, and uploadFile as parameters
  80. public void FileUploadSFTP()
  81. {
  82. var host = "whateverthehostis.com";
  83. var port = 22;
  84. var username = "username";
  85. var password = "passw0rd";
  86.  
  87. // path for file you want to upload
  88. var uploadFile = @"c:yourfilegoeshere.txt";
  89.  
  90. using (var client = new SftpClient(host, port, username, password))
  91. {
  92. client.Connect();
  93. if (client.IsConnected)
  94. {
  95. Debug.WriteLine("I'm connected to the client");
  96.  
  97. using (var fileStream = new FileStream(uploadFile, FileMode.Open))
  98. {
  99.  
  100. client.BufferSize = 4 * 1024; // bypass Payload error large files
  101. client.UploadFile(fileStream, Path.GetFileName(uploadFile));
  102. }
  103. }
  104. else
  105. {
  106. Debug.WriteLine("I couldn't connect");
  107. }
  108. }
  109. }
Add Comment
Please, Sign In to add comment