Killing the client (Ctrl+C or any other method) won’t cause the data on the server to be corrupted, if that’s what you mean by “safe”. The server doesn’t update anything until all the blobs are transferred successfully, then it updates the refs to point to the new blobs.
Git doesn’t have any facilities to resume an interrupted transfer though, so you’ll probably have to transfer the big blob again when you have a faster connection.