Fix post-upload file moving; split into model and controller