add xhr s3 file upload support