File saver dialog
Open a file saver dialog in a Kotlin Multiplatform project
Quick start
The file saver component provides a native interface for users to choose where to save a file on their device.
The file saver dialog returns a PlatformFile
object representing where the user wants to save the file. Note that the file is not created automatically - it’s the developer’s responsibility to write the actual data to the file location using methods like write()
.
Here’s a basic example:
Parameters
The file saver can be customized with several parameters:
suggestedName
: The default name for the file without extensionextension
: The file extension without the dot (e.g., “pdf”, “txt”)directory
: The starting directory for the save dialogdialogSettings
: Platform-specific settings for customizing the dialog behavior
Read more about dialog settings to customize the dialog for each platform.
Writing data
The file saver returns a PlatformFile
object representing the selected save location. You can write data to this file using the write()
extension function:
For more information about writing files, see the write file guide.
Download file on the web
On web targets (JS and WASM), instead of using a file saver dialog, you can directly download a file using FileKit.download()
:
This will trigger the browser’s native download behavior, saving the file to the user’s default downloads directory.
On web targets, the file saver dialog is not supported due to browser security restrictions. Instead, use FileKit.download()
to download files directly.
For more information about writing files on different platforms, see the write file guide.