I’ve had this issue before,
For me, the problem was with the ftp client uploading and the files got corrupted on the way up.
Check your ftp settings for your server, I’d also have a look at ‘keepalive’ time it’s generally used for ssh sessions, but can affect ftp sessions too.
lastly if you have access to terminal, you can wget the file, then unzip it from there.
Good luck!