I always thought it was clever that the PNG format was designed so that readers could catch various kinds of transfer errors, including the error of accidentally using FTP ASCII mode (rather than binary mode). That way you get a very clear error message, rather than some confusing CRC failure.
http://www.libpng.org/pub/png/spec/1.2/PNG-Rationale.html#R....
(ASCII mode automatically translates line-endings, which can break non-text formats in confusing ways)