このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Window: showSaveFilePicker() メソッド

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

Window インターフェイスの showSaveFilePicker() メソッドは、ファイルピッカーを表示し、ユーザーにファイルを保存させることができます。 既存のファイルを選択することも、新規ファイルの名前を入力することもできます。

構文

js
showSaveFilePicker()
showSaveFilePicker(options)

引数

options 省略可

以下のオプションを含むオブジェクトです。

excludeAcceptAllOption 省略可

論理値で、デフォルトは false です。 デフォルトで、ピッカーにはファイル形式のフィルターを一切適用しないオプション(下記 type オプションで指定)が組み込まれています。 このオプションを true に設定すると、そのオプションは利用不可となります。

id 省略可

ID を指定することで、ブラウザーは ID ごとに異なるディレクトリーを記憶することができます。 別のピッカーで同じ ID が使用されている場合、そのピッカーは同じディレクトリーで開かれます。

startIn 省略可

ダイアログが開いたときにいる場所の FileSystemHandle または既知のディレクトリー ("desktop", "documents", "downloads", "music", "pictures", "videos") です。

suggestedName 省略可

文字列 (String) です。提案するファイル名です。

types 省略可

保存できるファイル形式の配列 (Array) です。各要素は、以下のオプションを持つオブジェクトです。

description 省略可

許可されるファイル形式のカテゴリーのオプションの説明です。デフォルトは空文字列です。

accept

Object で、キーを MIME タイプに、値をファイルの拡張子の配列 (Array) に設定したものです(例は以下を参照してください)。

返値

FileSystemFileHandle オブジェクトで解決する Promise を返します。

例外

AbortError DOMException

ユーザーがファイルの選択や入力をせずにピッカーを閉じた場合や、ユーザーエージェントが選択されたファイルをセンシティブや危険とみなした場合に発生します。

SecurityError DOMException

呼び出しが 同一オリジンポリシー によってブロックされた場合、またはボタンの押下などのユーザー操作を介して呼び出されなかった場合に発生します。

TypeError

受け入れる型を処理できない場合に発生します。これは、次のような場合に起こり得ます。

  • types オプション内の任意のアイテムの accept オプションに含まれるキー文字列のいずれも、有効な MIME タイプとして構文解析できない場合。
  • types オプション内の任意のアイテムの accept オプションの値文字列は、例えば、先頭が . でなく末尾が . である場合や、無効なコードポイントを含み、かつ長さが 16 を超える場合など、無効となった場合。
  • types オプションは空で、excludeAcceptAllOption オプションは true である場合。

セキュリティ

ユーザーによる一時的な有効化が必要です。この機能が動作するためには、ユーザーがページまたは UI 要素を操作することが必要です。

例

以下の関数は、テキストファイルが選択しやすい状態でファイルピッカーを表示します。

js
async function getNewFileHandle() {
  const opts = {
    types: [
      {
        description: "テキストファイル",
        accept: { "text/plain": [".txt"] },
      },
    ],
  };
  return await window.showSaveFilePicker(opts);
}

仕様書

仕様書
File System Access
# api-showsavefilepicker

ブラウザーの互換性

関連情報