Creates a task that performs an HTTP request for the specified URL request object and uploads the provided data.
- iOS 7.0+
- macOS 10.9+
- tvOS 9.0+
- watchOS 2.0+
A URL request object that provides the URL, cache policy, request type, and so on. The body stream and body data in this request object are ignored.
The body data for the request.
The new session upload task.
An HTTP upload request is any request that contains a request body, such as a
PUT request. Upload tasks require you to create a request object so that you can provide metadata for the upload, like HTTP request headers.
After you create the task, you must start it by calling its
resume() method. The task calls methods on the session’s delegate to provide you with the upload’s progress, response metadata, response data, and so on.