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
| public async Task<string> UploadFile(String FilePath,String Login, String Pass, String HostName, int Port, bool SSL, bool ModePassif)
{
try
{
var myUri = new Uri("ftp://" + HostName + "/macarte1/testftp.text"); // il faut que le répertoire existe !!
var builder = new UriBuilder(myUri);
builder.Port = Port;
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(builder.Uri.ToString());
request.Method = WebRequestMethods.Ftp.UploadFile;
request.EnableSsl = (bool)SSL;
request.UsePassive = (bool)ModePassif;
request.KeepAlive = false;
SecureString securePwd = new SecureString();
securePwd = new NetworkCredential("", Pass).SecurePassword;
request.Credentials = new NetworkCredential(Login, securePwd);
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(myCertificateValidation);
string ReponseFTP = null;
StreamReader sourceStream = new StreamReader(FilePath);
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
await requestStream.WriteAsync(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
ReponseFTP = response.StatusDescription;
response.Close();
return ReponseFTP;
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message.ToString(), "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
return "erreur!";
} |
Partager