FtpWebRequest.UseBinary Property


Gets or sets a Boolean value that specifies the data type for file transfers.

 property bool UseBinary { bool get(); void set(bool value); };
public bool UseBinary { get; set; }
member this.UseBinary : bool with get, set
Public Property UseBinary As Boolean

Property Value

true to indicate to the server that the data to be transferred is binary; false to indicate that the data is text. The default value is true.


A new value was specified for this property for a request that is already in progress.


The following code example retrieves and displays property values for a specified FtpWebRequest object.

Console::WriteLine( "Passive: {0}  Keep alive: {1}  Binary: {2} Timeout: {3}.", request->UsePassive, request->KeepAlive, request->UseBinary, request->Timeout == -1 ? "none" : request->Timeout.ToString() );

Console.WriteLine("Passive: {0}  Keep alive: {1}  Binary: {2} Timeout: {3}.", 
    request.Timeout == -1 ? "none" : request.Timeout.ToString()


If you are sending binary data, such as an image, set this property to true. If you are sending text, set the property to false. Specifying true causes the FtpWebRequest to send a "TYPE I" command to the server. Specifying false causes the FtpWebRequest to send a "Type A" command to the server. FTP servers can ignore these commands.

Changing UseBinary after calling the GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method causes an InvalidOperationException exception.

Applies to

See also