If I undestand correctly, all you have to do is copy the source to a regular physical file, big enough to hold all the information. You can do it using the command CPYSRCF.
FTP is not an OS/400 facility — it’s a standard cross-platform TCP/IP utility. As such, it has no knowledge of platform specific elements such as member text and attributes. Technically, it doesn’t even know about members, much less anything like object “source file”.
If platform-specific attributes are needed, then platform-specific interfaces should be used. For example, a DDM file might be used with CPYF. Or FTS might be used in place of FTP.
If FTP must be used, then an intermediate platform-specific step can be inserted — save to a savefile and transfer the savefile. Most attributes can be transferred without FTP being aware.