> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# savefiledialog

> Ouvre un Windows save dialog with Windows save dialog, ecrit les Lua string bytes fournis dans le selected path et renvoie le saved file comme file item.

<div className="real-function-page">
  ```lua theme={null}
  savefiledialog(content: string, options?: DialogOptions): FileSystemItem | nil
  ```

  ## Arguments

  <ParamField path={"content"} type={"string"} required>
    Lua string bytes a ecrire dans le selected file. Le fichier est ouvert en binary truncate mode apres que l utilisateur confirme un path.
  </ParamField>

  <ParamField path={"options"} type={"DialogOptions"}>
    Optional table. savefiledialog utilise title, defaultPath, extensionFilter, suggestedName et defaultExtension. extensionFilter est une table de extension strings; un . ou \*. initial est retire avant que chaque filter devienne \*.\<extension>. defaultExtension retire les leading . characters avant d etre passe a SetDefaultExtension.
  </ParamField>

  ## Retours

  <ResponseField name={"file"} type={"FileSystemItem | nil"}>
    Saved file item, ou nil lorsque le dialog est annule. Dialog or write failures lancent Failed to save file.
  </ResponseField>

  ## Types

  ### DialogOptions

  Configure la boîte de dialogue de sélection de fichier ou de dossier.

  | Name               | Type                 | Required | Description                                                                                   |
  | ------------------ | -------------------- | -------- | --------------------------------------------------------------------------------------------- |
  | `title`            | `string`             | No       | Définit le titre de la fenêtre de dialogue.                                                   |
  | `defaultPath`      | `string`             | No       | Sélectionne le répertoire affiché lorsque la boîte de dialogue s'ouvre.                       |
  | `extensionFilter`  | `&#123;string&#125;` | No       | Limite les fichiers sélectionnables aux extensions répertoriées, avec ou sans point de début. |
  | `suggestedName`    | `string`             | No       | Fournit le nom de fichier initial dans les boîtes de dialogue d'enregistrement.               |
  | `defaultExtension` | `string`             | No       | Définit l'extension utilisée lorsque le nom de fichier saisi n'en a pas.                      |

  ## Exemple

  Ecris generated content vers un path choisi par l utilisateur et traite le saved file item.

  ```lua theme={null}
  local saved = savefiledialog("Example output", {
      title = "Save output",
      suggestedName = "output.txt",
      defaultExtension = "txt",
      extensionFilter = { "txt" },
  })

  if saved then
      print(saved:GetName())
      print(saved:IsFile())
  else
      print("No file saved")
  end
  ```
</div>
