<!--
{
  "availability" : [
    "iOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TelephonyMessagingKit",
  "identifier" : "/documentation/TelephonyMessagingKit/RCSMessage/FileTransfer",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "TelephonyMessagingKit"
    ],
    "preciseIdentifier" : "s:21TelephonyMessagingKit10RCSMessageV12FileTransferV"
  },
  "title" : "RCSMessage.FileTransfer"
}
-->

# RCSMessage.FileTransfer

A structure that represents file transfer content in an RCS message.

```
struct FileTransfer
```

## Overview

When sending a file to a recipient, you use the [`RCSService`](/documentation/TelephonyMessagingKit/RCSService) to call [`upload(_:)`](/documentation/TelephonyMessagingKit/RCSService/upload(_:)) and use the metadata returned by that method to create a message of this type.
When receiving a file, you handle messages of this type in the [`incomingMessageNotifications`](/documentation/TelephonyMessagingKit/RCSService/incomingMessageNotifications) asynchronous sequence, and use the received message to create a [`RCSService.FileDownloadRequest`](/documentation/TelephonyMessagingKit/RCSService/FileDownloadRequest) for use with [`download(_:)`](/documentation/TelephonyMessagingKit/RCSService/download(_:)).

## Topics

### Creating a file transfer instance

[`init(fileMetadata: RCSFileTransferMetadata, thumbnailMetadata: RCSFileTransferMetadata?)`](/documentation/TelephonyMessagingKit/RCSMessage/FileTransfer/init(fileMetadata:thumbnailMetadata:))

Creates a file transfer content instance with the given metadata.

[`struct RCSFileTransferMetadata`](/documentation/TelephonyMessagingKit/RCSFileTransferMetadata)

A structure that contains metadata about an RCS file transfer.

### Accessing file transfer properties

[`var fileMetadata: RCSFileTransferMetadata`](/documentation/TelephonyMessagingKit/RCSMessage/FileTransfer/fileMetadata)

Metadata for the transferred file.

[`var thumbnailMetadata: RCSFileTransferMetadata?`](/documentation/TelephonyMessagingKit/RCSMessage/FileTransfer/thumbnailMetadata)

Metadata for the transferred thumbnail.

### Supporting RCS encryption

[`var isEndToEndEncrypted: Bool`](/documentation/TelephonyMessagingKit/RCSMessage/FileTransfer/isEndToEndEncrypted)

A Boolean value indicating whether this message is end-to-end encrypted.

### Encoding and decoding

### Comparing file transfer instances

## Relationships

### Conforms To

[`Encodable`](/documentation/Swift/Encodable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Decodable`](/documentation/Swift/Decodable)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)