AttachmentTransportAdapter
Experimental Alpha
AttachmentTransportAdapter owns all remote-side operations for an attachment — transfer (upload/download) and delete — as single operations.
A transport owns the entire transfer, letting implementations pick the most efficient mechanism available (buffer, stream, or a platform-native file-URI upload/download API). On platforms like React Native this allows large files to be transferred without ever materializing them in the JS heap.
The default transport composes the local and remote storage adapters. Provide a custom transport (via
AttachmentQueue's transportAdapter option) to own the whole remote side; in
that case a separate remoteStorage is not required.
This is currently experimental and may change without a major version bump.
Methods
delete()
delete(attachment): Promise<void>;
Alpha
Deletes the attachment's file from remote storage. Local file removal is handled separately by the syncing service.
Parameters
| Parameter | Type | Description |
|---|---|---|
attachment | AttachmentRecord | The attachment to delete. |
Returns
Promise<void>
download()
download(attachment): Promise<void>;
Alpha
Downloads the remote file into attachment.localUri.
Parameters
| Parameter | Type | Description |
|---|---|---|
attachment | LocatedAttachmentRecord | The attachment to download. localUri is the destination path, assigned by the syncing service before this call. |
Returns
Promise<void>
upload()
upload(attachment): Promise<void>;
Alpha
Uploads the attachment's local file to remote storage.
Parameters
| Parameter | Type | Description |
|---|---|---|
attachment | LocatedAttachmentRecord | The attachment to upload. localUri points at the source file. |
Returns
Promise<void>