FTP has nothing to do with file types, not counting the difference between "text" and "binary" mode which is pretty much obsolete; so for almost all practical purpose "binary" should be used. This way, you can get/put files as is.
Acting as a FTP client .NET is way too simple. All you need is using the class
and related classes. Please see the description and the code sample:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx