Completely reworked the uploadChainData functionality to accept a zip file similar to the downloadChainData function.