Attachments / Files
Syncing large attachments/files directly using PowerSync is not recommended.
Smaller files can be stored as base64-encoded data, but syncing many larger files using database rows may cause performance degradation.
On the other hand, PowerSync works well for syncing the attachment metadata, which could include the file path, name, size, and type. The client may then download the file from the storage provider, such as Supabase Storage or AWS S3.
Helper Packages
We currently have these helper packages available to manage attachments:
SDK | Attachments Helper Package | Example Implementation |
---|---|---|
React Native / JavaScript | powersync-attachments | To-Do List example app |
Flutter | powersync_attachments_helper | To-Do List example app |
The example implementations above use Supabase Storage as storage provider. For more information on the use of Supabase as storage provider, refer to:
Note: Attachment helper packages for Kotlin and Swift are planned. Let us know if you require this for your project.
Was this page helpful?