I have encountered various circumstances in which it was possible to transfer a file to a Cisco device only via FTP. The first few times were trying as the CLI syntax is a little tricky. Since then, FTP has become my preferred method as it is faster and more reliable. For those who need a quick reminder of the syntax (myself included), here it is:
copy ftp://<username>:<password>@<ip address>/<root directory>/<image directory>/<file name> flash:/<filename>
Obviously, if you are copying in the opposite direction, just swap the flash and ftp fields in the command.