---
title: "upload(for:from:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/urlsession/upload(for:from:)"
---

# upload(for:from:)

Convenience method to upload data using a URLRequest, creates and resumes a URLSessionUploadTask internally.

## Declaration

```swift
func upload(for request: URLRequest, from bodyData: Data) async throws -> (Data, URLResponse)
```

## Parameters

- `request`: The URLRequest for which to upload data.
- `bodyData`: Data to upload.

## Return Value

Return Value Data and response.

## See Also

### Performing asynchronous transfers

- [bytes(for:delegate:)](foundation/urlsession/bytes(for:delegate:).md)
- [bytes(from:delegate:)](foundation/urlsession/bytes(from:delegate:).md)
- [URLSession.AsyncBytes](foundation/urlsession/asyncbytes.md)
- [data(for:delegate:)](foundation/urlsession/data(for:delegate:).md)
- [data(from:delegate:)](foundation/urlsession/data(from:delegate:).md)
- [data(for:)](foundation/urlsession/data(for:).md)
- [data(from:)](foundation/urlsession/data(from:).md)
- [download(for:delegate:)](foundation/urlsession/download(for:delegate:).md)
- [download(from:delegate:)](foundation/urlsession/download(from:delegate:).md)
- [download(resumeFrom:delegate:)](foundation/urlsession/download(resumefrom:delegate:).md)
- [upload(for:from:delegate:)](foundation/urlsession/upload(for:from:delegate:).md)
- [upload(for:fromFile:delegate:)](foundation/urlsession/upload(for:fromfile:delegate:).md)
- [upload(for:fromFile:)](foundation/urlsession/upload(for:fromfile:).md)
- [URLSessionTaskDelegate](foundation/urlsessiontaskdelegate.md)
