openfolderdialog Asynchronous
Ask the user to select a folder and return a handle for browsing or creating its children. Use it when the user should choose the location of an import or export. The handle provides access to that selected folder through Document methods.
Luau
openfolderdialog(options: FileDialogOptions?) -> Document?Parameters
| Parameter | Type | Description |
|---|---|---|
options | FileDialogOptions? | Optional picker settings. Field names are case sensitive; see the options fields below. |
Argument fields
Luau
FileDialogOptions = {
defaultPath: string?, title: string?, extensionFilter: {string}?,
suggestedName: string?, defaultExtension: string?
}| Field | Description |
|---|---|
defaultPath | Initial picker location. The Android picker uses this only when it is a content:// URI. |
title | Optional chooser title for open dialogs. It is not used as the save filename. |
extensionFilter | Array of extensions, such as {"txt", "json"}. Known extensions are converted to MIME filters; unknown-only filters allow all types. Folder dialogs do not use this filter. |
suggestedName | Suggested filename for savefiledialog. Defaults to untitled when omitted or empty. |
defaultExtension | Extension appended to the suggested save filename when it does not already have that extension. Leading dots are removed. |
Returns
Document?A Document handle for the selected folder, or nil when the user cancels.
Usage notes
Document is a handle returned by a file dialog or a folder method. Call its methods with a colon, for example document:Read(). After Delete succeeds, that handle is invalid and further method calls raise an error.
Example
Luau
local folder = openfolderdialog()
if folder then
for _, child in ipairs(folder:List()) do
print(child:GetName())
end
end