重构文件上传