/// <summary> /// Obtiene el stream para subir un archivo /// </summary> public Stream Store(string remoteFileName, FtpClient.FtpTransferMode mode = FtpClient.FtpTransferMode.Binary) { FtpStoreCommand command = new FtpStoreCommand(Client.Connection, remoteFileName, mode); // Devuelve el stream return(command.GetStream()); }
internal FtpAbstractStreamCommand(FtpConnection connection, FtpPath path, FtpClient.FtpTransferMode mode = FtpClient.FtpTransferMode.Binary) : base(connection) { Path = path; Mode = mode; }
/// <summary> /// Cambia el modo de transferencia /// </summary> private void SetTransferMode(FtpConnection connection, FtpClient.FtpTransferMode mode) { if (mode != connection.TransferMode) { // Envía el comando del modo de transferencia new Commands.Streams.FtpTransferModeCommand(connection, mode).Send(); // Indica que se ha cambiado el modo de transferencia connection.TransferMode = mode; } }
/// <summary> /// Abre un stream de datos /// </summary> internal FtpStream OpenDataStream(FtpConnection connection, FtpClient.FtpTransferMode mode) { // Comprueba la protección existente connection.CheckProtection(Parameters.FtpClientParameters.FtpProtection.DataChannel); // Cambia el modo de transferencia SetTransferMode(connection, mode); // Abre el stream pasivo (o no) if (connection.Client.ClientParameters.Passive) { return(new FtpPasiveStreamFactory().Open(connection)); } else { return(new FtpActiveStreamFactory().Open(connection)); } }
internal FtpTransferModeCommand(FtpConnection connection, FtpClient.FtpTransferMode mode) : base(connection) { Mode = mode; }
internal FtpRetrieveCommand(FtpConnection connection, FtpPath path, FtpClient.FtpTransferMode mode = FtpClient.FtpTransferMode.Binary) : base(connection, path, mode) { }