/// <summary> /// Get the Length of the Http Download. /// </summary> /// <param name="ftpWebOperation">Web Operation.</param> /// <param name="username">Http Login Username.</param> /// <param name="password">Http Login Password.</param> /// <param name="ftpMode">Ftp Transfer Mode.</param> /// <exception cref="ArgumentNullException">Throws if resourceUri is null.</exception> public long GetFtpDownloadLength(IFtpWebOperation ftpWebOperation, string username, string password, FtpType ftpMode) { if (ftpWebOperation == null) throw new ArgumentNullException("ftpWebOperation", "Argument 'httpWebOperation' cannot be null."); _ftpWebOperation = ftpWebOperation; _ftpWebOperation.WebOperationProgress += OnHttpWebOperationProgress; _ftpWebOperation.OperationRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore); SetFtpMode(ftpWebOperation.FtpOperationRequest, ftpMode); SetNetworkCredentials(_ftpWebOperation.OperationRequest.Request, username, password); return _ftpWebOperation.GetDownloadLength(); }
/// <summary> /// Upload a File via Ftp. /// </summary> /// <param name="ftpWebOperation">Web Operation.</param> /// <param name="localFilePath">Path to local file.</param> /// <param name="username">Ftp Login Username.</param> /// <param name="password">Ftp Login Password.</param> /// <param name="ftpMode">Ftp Transfer Mode.</param> /// <exception cref="ArgumentNullException">Throws if ftpWebOperation is null.</exception> /// <exception cref="ArgumentException">Throws if localFilePath is null or empty.</exception> public void FtpUploadHelper(IFtpWebOperation ftpWebOperation, string localFilePath, string username, string password, FtpType ftpMode) { FtpUploadHelper(ftpWebOperation, localFilePath, -1, username, password, ftpMode); }
/// <summary> /// Upload a File via Ftp. /// </summary> /// <param name="ftpWebOperation">Web Operation.</param> /// <param name="localFilePath">Path to local file.</param> /// <param name="maximumLength"></param> /// <param name="username">Ftp Login Username.</param> /// <param name="password">Ftp Login Password.</param> /// <param name="ftpMode">Ftp Transfer Mode.</param> /// <exception cref="ArgumentNullException">Throws if ftpWebOperation is null.</exception> /// <exception cref="ArgumentException">Throws if localFilePath is null or empty.</exception> public void FtpUploadHelper(IFtpWebOperation ftpWebOperation, string localFilePath, int maximumLength, string username, string password, FtpType ftpMode) { if (ftpWebOperation == null) throw new ArgumentNullException("ftpWebOperation"); if (String.IsNullOrEmpty(localFilePath)) throw new ArgumentException("Argument 'localFilePath' cannot be a null or empty string."); _ftpWebOperation = ftpWebOperation; _ftpWebOperation.WebOperationProgress += OnFtpWebOperationProgress; _ftpWebOperation.OperationRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore); SetFtpMode(_ftpWebOperation.FtpOperationRequest, ftpMode); SetNetworkCredentials(_ftpWebOperation.OperationRequest.Request, username, password); _ftpWebOperation.Upload(localFilePath, maximumLength); }
/// <summary> /// Check an FTP Connection. /// </summary> /// <param name="ftpWebOperation">Web Operation.</param> /// <param name="username">Ftp Login Username.</param> /// <param name="password">Ftp Login Password.</param> /// <param name="ftpMode">Ftp Transfer Mode.</param> /// <exception cref="ArgumentException">Throws if ftpWebOperation is null.</exception> public void FtpCheckConnection(IFtpWebOperation ftpWebOperation, string username, string password, FtpType ftpMode) { if (ftpWebOperation == null) throw new ArgumentNullException("ftpWebOperation"); ftpWebOperation.FtpOperationRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore); ftpWebOperation.FtpOperationRequest.KeepAlive = false; // Close the Request ftpWebOperation.FtpOperationRequest.Timeout = 5000; // 5 second timeout SetFtpMode(ftpWebOperation.FtpOperationRequest, ftpMode); SetNetworkCredentials(ftpWebOperation.OperationRequest.Request, username, password); ftpWebOperation.CheckConnection(); }