private void SSISFTPTaskUIForm_Load(object sender, EventArgs e) { try { FtpType _ftptype = FtpType.Download; if (taskHostValue.Properties.Contains("FtpType")) { _ftptype = (FtpType)Enum.Parse(typeof(FtpType), taskHostValue.Properties["FtpType"].GetValue(this.taskHostValue).ToString()); } SftpTransferType _transferType = SftpTransferType.Ascii; if (taskHostValue.Properties.Contains("TransferType")) { _transferType = (SftpTransferType)Enum.Parse(typeof(SftpTransferType), taskHostValue.Properties["TransferType"].GetValue(this.taskHostValue).ToString()); } this.cboFtpType.SelectedValue = _ftptype;//(FtpType)taskHostValue.Properties["FtpType"].GetValue(this.taskHostValue); cboFtpType_SelectedIndexChanged(cboFtpType, EventArgs.Empty); this.cboTransferType.SelectedValue = _transferType; } catch (Exception ex) { MessageBox.Show(ex.Message, "SSISFTPTaskUIForm_Load()"); } }
protected void SetTramsferType(FtpType ftpType) { switch (ftpType) { case FtpType.ASCII: SendCommand("TYPE A", true); break; case FtpType.Binary: SendCommand("TYPE I", true); break; default: throw new InvalidEnumArgumentException("Invalid File Transfer Type"); } }
public static IFtp Create(FtpType ftpType) { Program.Logger.Info($"Initializing FTP of type {ftpType}"); switch (ftpType) { case FtpType.GLUE: return(new GlueSession()); case FtpType.PROCORE: return(new ProcoreSession()); default: throw new Exception(); } }
/// <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="server">Server Name or IP.</param> /// <param name="port">Server Port.</param> /// <param name="ftpPath">Path to upload to on remote Ftp server.</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 Server or FtpPath is null or empty.</exception> public void FtpCheckConnection(string server, int port, string ftpPath, string username, string password, FtpType ftpMode) { if (String.IsNullOrEmpty(server)) throw new ArgumentException("Argument 'server' cannot be a null or empty string."); if (String.IsNullOrEmpty(ftpPath)) throw new ArgumentException("Argument 'ftpPath' cannot be a null or empty string."); var ftpWebOperation = (FtpWebOperation)WebOperation.Create(new Uri( String.Format(CultureInfo.InvariantCulture, "ftp://{0}:{1}{2}", server, port, ftpPath))); FtpCheckConnection(ftpWebOperation, username, password, ftpMode); }
/// <summary> /// Creates a new <see cref="FtpClient"/>. /// </summary> /// <param name="ftpType">Target <see cref="AbstractFtpClient.FtpType"/> for this <see cref="FtpClient"/></param> /// <param name="caseSensitive">Set to true to be case sensitive with FTP file and directory names.</param> public FtpClient(FtpType ftpType, bool caseSensitive = false) { FtpType = ftpType; CaseSensitive = caseSensitive; }
/// <summary> /// Creates a new <see cref="FtpClient"/>. /// </summary> /// <param name="ftpType">Target <see cref="VirtualFtpClient.FtpType"/> for this <see cref="FtpClient"/></param> /// <param name="caseSensitive">Set to true to be case sensitive with FTP file and directory names.</param> public FtpClient(FtpType ftpType, bool caseSensitive = DefaultCaseSensitive) { FtpType = ftpType; CaseSensitive = caseSensitive; }
/// <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(); }
private static void SetFtpMode(IFtpWebOperationRequest request, FtpType ftpMode) { Debug.Assert(request != null); switch (ftpMode) { case FtpType.Passive: request.UsePassive = true; break; case FtpType.Active: request.UsePassive = false; break; default: throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, "FTP Type '{0}' is not valid.", ftpMode)); } }
/// <summary> /// Get the Length of the Http Download. /// </summary> /// <param name="server">Server Name or IP.</param> /// <param name="ftpPath">Path to download from on remote Ftp server.</param> /// <param name="remoteFileName">Remote file to download.</param> /// <param name="username">Http Login Username.</param> /// <param name="password">Http Login Password.</param> /// <param name="ftpMode">Ftp Transfer Mode.</param> /// <exception cref="ArgumentException">Throws if Url is null or empty.</exception> public long GetFtpDownloadLength(string server, string ftpPath, string remoteFileName, string username, string password, FtpType ftpMode) { if (String.IsNullOrEmpty(server)) throw new ArgumentException("Argument 'server' cannot be a null or empty string."); if (String.IsNullOrEmpty(ftpPath)) throw new ArgumentException("Argument 'ftpPath' cannot be a null or empty string."); if (String.IsNullOrEmpty(remoteFileName)) throw new ArgumentException("Argument 'remoteFileName' cannot be a null or empty string."); return GetFtpDownloadLength(new Uri(String.Format(CultureInfo.InvariantCulture, "ftp://{0}{1}{2}", server, ftpPath, remoteFileName)), username, password, ftpMode); }
/// <summary> /// Get the Length of the Http Download. /// </summary> /// <param name="resourceUri">Web Resource Uri.</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(Uri resourceUri, string username, string password, FtpType ftpMode) { if (resourceUri == null) throw new ArgumentNullException("resourceUri", "Argument 'resourceUri' cannot be null."); return GetFtpDownloadLength((IFtpWebOperation)WebOperation.Create(resourceUri), 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="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> /// Check an FTP Connection. /// </summary> /// <param name="server">Server Name or IP.</param> /// <param name="port">Server Port.</param> /// <param name="ftpPath">Path to upload to on remote Ftp server.</param> /// <param name="username">Ftp Login Username.</param> /// <param name="password">Ftp Login Password.</param> /// <param name="ftpMode">Ftp Transfer Mode.</param> /// <param name="callback"></param> /// <exception cref="ArgumentException">Throws if Server or FtpPath is null or empty.</exception> public IAsyncResult BeginFtpCheckConnection(string server, int port, string ftpPath, string username, string password, FtpType ftpMode, AsyncCallback callback) { var action = new Action(() => FtpCheckConnection(server, port, ftpPath, username, password, ftpMode)); return action.BeginInvoke(callback, action); }
/// <summary> /// Upload a File via Ftp. /// </summary> /// <param name="resourceUri">Web Resource Uri.</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 resourceUri is null.</exception> public void FtpUploadHelper(Uri resourceUri, string localFilePath, int maximumLength, string username, string password, FtpType ftpMode) { if (resourceUri == null) throw new ArgumentNullException("resourceUri"); FtpUploadHelper((FtpWebOperation)WebOperation.Create(resourceUri), localFilePath, maximumLength, username, password, ftpMode); }
/// <summary> /// Upload a File via Ftp. /// </summary> /// <param name="resourceUri">Web Resource Uri.</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 resourceUri is null.</exception> public void FtpUploadHelper(Uri resourceUri, string localFilePath, string username, string password, FtpType ftpMode) { FtpUploadHelper(resourceUri, localFilePath, -1, username, password, ftpMode); }
/// <summary> /// Upload a File via Ftp. /// </summary> /// <param name="server">Server Name or IP.</param> /// <param name="port">Server Port.</param> /// <param name="ftpPath">Path to upload to on remote Ftp server.</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="ArgumentException">Throws if Server or FtpPath, or localFilePath is null or empty.</exception> public void FtpUploadHelper(string server, int port, string ftpPath, string localFilePath, int maximumLength, string username, string password, FtpType ftpMode) { if (String.IsNullOrEmpty(server)) throw new ArgumentException("Argument 'server' cannot be a null or empty string."); if (String.IsNullOrEmpty(ftpPath)) throw new ArgumentException("Argument 'ftpPath' cannot be a null or empty string."); if (String.IsNullOrEmpty(localFilePath)) throw new ArgumentException("Argument 'localFilePath' cannot be a null or empty string."); FtpUploadHelper(new Uri(String.Format(CultureInfo.InvariantCulture, "ftp://{0}:{1}{2}{3}", server, port, ftpPath, Path.GetFileName(localFilePath))), localFilePath, maximumLength, username, password, ftpMode); }
/// <summary> /// Upload a File via Ftp. /// </summary> /// <param name="server">Server Name or IP.</param> /// <param name="port">Server Port.</param> /// <param name="ftpPath">Path to upload to on remote Ftp server.</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="ArgumentException">Throws if Server or FtpPath, or localFilePath is null or empty.</exception> public void FtpUploadHelper(string server, int port, string ftpPath, string localFilePath, string username, string password, FtpType ftpMode) { FtpUploadHelper(server, port, ftpPath, localFilePath, -1, username, password, ftpMode); }
/// <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(); }