Closing the connection would cause the client to believe that the file has been fully downloaded - resulting in a truncated file. Not good.
HTTP does not have a way of sending an error in-mid-transfer, so a TCP reset has to suffice. The other option would be to blackhole the connection, but that would be worse for both sides.