modify Upload method and UploadProgress