Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const string UserName = "userName";
- const string Password = "password";
- const string ServerIp = "11.22.333.444/";
- public bool UploadFile(HttpPostedFileBase file)
- {
- string fileName = file.FileName;
- var serverUri = new Uri("ftp://" + ServerIp + fileName);
- // the serverUri should start with the ftp:// scheme.
- if (serverUri.Scheme != Uri.UriSchemeFtp)
- return false;
- try
- {
- // get the object used to communicate with the server.
- var request = (FtpWebRequest)WebRequest.Create(serverUri);
- request.EnableSsl = true;
- request.UsePassive = true;
- request.UseBinary = true;
- request.Credentials = new NetworkCredential(UserName, Password);
- request.Method = WebRequestMethods.Ftp.UploadFile;
- // read file into byte array
- var sourceStream = new StreamReader(file.InputStream);
- byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
- sourceStream.Close();
- request.ContentLength = fileContents.Length;
- // send bytes to server
- Stream requestStream = request.GetRequestStream();
- requestStream.Write(fileContents, 0, fileContents.Length);
- requestStream.Close();
- var response = (FtpWebResponse)request.GetResponse();
- Console.WriteLine("Response status: {0}", response.StatusDescription);
- }
- catch (Exception exc)
- {
- throw exc;
- }
- return true;
- }
- // you could pass the host, port, usr, and pass as parameters
- public void FileUploadSFTP()
- {
- var host = "whateverthehostis.com";
- var port = 22;
- var username = "username";
- var password = "passw0rd";
- // http://stackoverflow.com/questions/18757097/writing-data-into-csv-file/39535867#39535867
- byte[] csvFile = DownloadCSV(); // Function returns byte[] csv file
- using (var client = new SftpClient(host, port, username, password))
- {
- client.Connect();
- if (client.IsConnected)
- {
- Debug.WriteLine("I'm connected to the client");
- using (var ms = new MemoryStream(csvFile))
- {
- client.BufferSize = (uint)ms.Length; // bypass Payload error large files
- client.UploadFile(ms, GetListFileName());
- }
- }
- else
- {
- Debug.WriteLine("I couldn't connect");
- }
- }
- }
- // you could pass the host, port, usr, pass, and uploadFile as parameters
- public void FileUploadSFTP()
- {
- var host = "whateverthehostis.com";
- var port = 22;
- var username = "username";
- var password = "passw0rd";
- // path for file you want to upload
- var uploadFile = @"c:yourfilegoeshere.txt";
- using (var client = new SftpClient(host, port, username, password))
- {
- client.Connect();
- if (client.IsConnected)
- {
- Debug.WriteLine("I'm connected to the client");
- using (var fileStream = new FileStream(uploadFile, FileMode.Open))
- {
- client.BufferSize = 4 * 1024; // bypass Payload error large files
- client.UploadFile(fileStream, Path.GetFileName(uploadFile));
- }
- }
- else
- {
- Debug.WriteLine("I couldn't connect");
- }
- }
- }
Add Comment
Please, Sign In to add comment