Fenster: showSaveFilePicker()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die showSaveFilePicker()-Methode der Window-Schnittstelle zeigt einen Dateiauswahldialog, der es einem Benutzer ermöglicht, eine Datei zu speichern. Entweder durch Auswahl einer vorhandenen Datei oder durch Eingabe eines Namens für eine neue Datei.

Syntax

js
showSaveFilePicker()

Parameter

options Optional

Ein Objekt, das Optionen enthält, die wie folgt sind:

excludeAcceptAllOption Optional

Ein boolescher Wert, der standardmäßig auf false gesetzt ist. Standardmäßig sollte der Dateiauswahldialog eine Option enthalten, um keine Dateitypfilter anzuwenden (initiiert mit der unten angegebenen Typoption). Wenn diese Option auf true gesetzt wird, ist diese Option nicht verfügbar.

id Optional

Durch Angabe einer ID kann der Browser für verschiedene IDs unterschiedliche Verzeichnisse speichern. Wenn dieselbe ID für einen anderen Auswahldialog verwendet wird, öffnet sich dieser im selben Verzeichnis.

startIn Optional

Ein FileSystemHandle oder ein bekanntes Verzeichnis ("desktop", "documents", "downloads", "music", "pictures", oder "videos"), in dem der Dialog geöffnet werden soll.

suggestedName Optional

Ein String. Der vorgeschlagene Dateiname.

types Optional

Ein Array der erlaubten Dateitypen zum Speichern. Jedes Element ist ein Objekt mit den folgenden Optionen:

description Optional

Eine optionale Beschreibung der Kategorie der erlaubten Dateitypen. Standardmäßig ein leerer String.

accept

Ein Object mit den Schlüsseln, die auf den MIME-Typ gesetzt sind, und deren Werte ein Array von Dateierweiterungen enthalten (siehe unten für ein Beispiel).

Rückgabewert

Ein Promise dessen Erfüllungshandler ein FileSystemFileHandle-Objekt erhält.

Ausnahmen

AbortError DOMException

Wird ausgelöst, wenn der Benutzer das Dateiauswahldialogfeld schließt, ohne eine Datei auszuwählen oder einzugeben, oder wenn der Benutzeragent die ausgewählten Dateien als zu sensibel oder gefährlich erachtet.

SecurityError DOMException

Wird ausgelöst, wenn der Aufruf durch die Same-Origin-Policy blockiert wurde oder nicht über eine Benutzerinteraktion wie einen Button-Druck aufgerufen wurde.

TypeError

Wird ausgelöst, wenn Akzeptanztypen nicht verarbeitet werden können, was passieren kann, wenn:

  • Ein beliebiger Schlüssel-String der accept-Optionen eines Elements in types-Optionen keinen gültigen MIME-Typ analysieren kann.
  • Ein beliebiger Wert-String der accept-Optionen eines Elements in types-Optionen ungültig ist, z.B. wenn er nicht mit . beginnt und mit . endet oder wenn er ungültige Codepunkte enthält und seine Länge mehr als 16 beträgt.
  • Die types-Optionen leer sind und die excludeAcceptAllOption-Option auf true gesetzt ist.

Sicherheit

Transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.

Beispiele

Die folgende Funktion zeigt einen Dateiauswahldialog, bei dem Textdateien zur Auswahl hervorgehoben sind.

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

Spezifikationen

Specification
File System Access
# api-showsavefilepicker

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch