重构上传代码的逻辑