Can you also resume() an upload and if so is it the same as resume() for a download?
Yes, you can resume uploads as long as the server supports resume. It should work the same way as a download, though in my application I'm not doing any downloading so I can't say for sure. Basically, if you are doing a binary transfer, the client gets a byte count for the partial file and then resumes from that point on.