1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
namespace Module_FTP
{
public class FTP
{
public string Server { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public void Upload(string filePath, string inputFilePath)
{
Uri serverUri = new Uri("ftp://" + this.Server + "/" + filePath);
if (serverUri.Scheme != Uri.UriSchemeFtp)
{ return; }
FtpWebRequest myRequest = (FtpWebRequest)FtpWebRequest.Create(serverUri);
myRequest.Credentials = new NetworkCredential(this.Username, this.Password);
myRequest.Method = WebRequestMethods.Ftp.UploadFile;
FileStream stream = File.OpenRead(inputFilePath);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
stream.Close();
Stream reqStream = myRequest.GetRequestStream();
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
}
public void Download(string directory, string file)
{
Uri serverUri = new Uri("ftp://" + this.Server + "/" + directory + "/" + file);
if (serverUri.Scheme != Uri.UriSchemeFtp)
{ return; }
FtpWebRequest myRequest = (FtpWebRequest)FtpWebRequest.Create(serverUri);
myRequest.Credentials = new NetworkCredential(this.Username, this.Password);
myRequest.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = (FtpWebResponse)myRequest.GetResponse();
Stream responseStream = response.GetResponseStream();
FileStream fs = new FileStream("C:/" + file, FileMode.Create);
byte[] buffer = new byte[2000];
int read = 0;
do
{
read = responseStream.Read(buffer, 0, buffer.Length);
fs.Write(buffer, 0, read);
fs.Flush();
} while (!(read == 0));
response.Close();
responseStream.Close();
fs.Close();
}
}
} |
Partager