DownloadFile accepts file objects as well as urls