Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Window : méthode showSaveFilePicker()

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.

La méthode showSaveFilePicker() de l'interface Window affiche un sélecteur de fichiers permettant à l'utilisateur·ice de sauvegarder un fichier, soit en sélectionnant un fichier existant, soit en entrant un nom pour un nouveau fichier.

Syntaxe

js
showSaveFilePicker()
showSaveFilePicker(options)

Paramètres

options Facultatif

Un objet contenant des options, qui sont les suivantes :

excludeAcceptAllOption Facultatif

Une valeur booléenne qui par défaut est false. Par défaut, le sélecteur doit inclure une option pour ne pas appliquer de filtres de type de fichier (instiguée avec l'option type ci-dessous). Définir cette option sur true signifie que cette option n'est pas disponible.

id Facultatif

Par définition d'un identifiant, le navigateur peut se souvenir de différents répertoires pour différents identifiants. Si le même identifiant est utilisé pour un autre sélecteur, le sélecteur s'ouvre dans le même répertoire.

startIn Facultatif

Un objet FileSystemHandle ou un répertoire bien connu ("desktop", "documents", "downloads", "music", "pictures" ou "videos") pour ouvrir la boîte de dialogue.

suggestedName Facultatif

Une chaîne de caractères (String). Le nom de fichier suggéré.

types Facultatif

Un tableau (Array) des types de fichiers autorisés à sauvegarder. Chaque élément est un objet avec les options suivantes :

description Facultatif

Une description optionnelle de la catégorie des types de fichiers autorisés. Par défaut, une chaîne de caractères vide.

accept

Un Object dont les clés sont les types MIME et les valeurs un tableau (Array) d'extensions de fichiers (voir ci-dessous pour un exemple).

Valeur de retour

Une promesse (Promise) dont le gestionnaire de complétion reçoit un objet FileSystemFileHandle.

Exceptions

AbortError DOMException

Levée si l'utilisateur·ice ferme le sélecteur de fichiers sans sélectionner ou saisir un fichier, ou si l'agent utilisateur juge que les fichiers sélectionnés sont trop sensibles ou dangereux.

SecurityError DOMException

Levée si l'appel a été bloqué par la politique de même origine ou s'il n'a pas été effectué p une interaction utilisateur·ice telle qu'un clic sur un bouton.

TypeError

Levée si les types acceptés ne peuvent pas être traités, ce qui peut se produire si :

  • Toute chaîne de caractères clé des options accept de n'importe quel élément dans les options types ne peut pas être analysée en un type MIME valide.
  • Toute chaîne de caractères valeur des options accept de n'importe quel élément dans les options types est invalide, par exemple, si elle ne commence pas par . et se termine par ., ou si elle contient des points de code invalides et que sa longueur est supérieure à 16.
  • Les options types sont vides et les options excludeAcceptAllOption sont true.

Sécurité

Une activation utilisateur transitoire est requise. L'utilisateur·ice doit interagir avec la page ou un élément de l'interface utilisateur pour que cette fonctionnalité fonctionne.

Exemples

La fonction suivante affiche un sélecteur de fichiers, avec les fichiers texte mis en évidence pour la sélection.

js
async function obtenirGestionnaireNouveauFichier() {
  const opts = {
    types: [
      {
        description: "Fichier texte",
        accept: { "text/plain": [".txt"] },
      },
    ],
  };
  return await window.showSaveFilePicker(opts);
}

Spécifications

Spécification
File System Access
# api-showsavefilepicker

Compatibilité des navigateurs

Voir aussi