Window: showSaveFilePicker() メソッド
利用可能性は限定的
この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
Window インターフェイスの showSaveFilePicker() メソッドは、ファイルピッカーを表示し、ユーザーにファイルを保存させることができます。
既存のファイルを選択することも、新規ファイルの名前を入力することもできます。
構文
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 を返します。
例外
AbortErrorDOMException-
ユーザーがファイルの選択や入力をせずにピッカーを閉じた場合や、ユーザーエージェントが選択されたファイルをセンシティブや危険とみなした場合に発生します。
SecurityErrorDOMException-
呼び出しが 同一オリジンポリシー によってブロックされた場合、またはボタンの押下などのユーザー操作を介して呼び出されなかった場合に発生します。
TypeError-
受け入れる型を処理できない場合に発生します。これは、次のような場合に起こり得ます。
typesオプション内の任意のアイテムのacceptオプションに含まれるキー文字列のいずれも、有効な MIME タイプとして構文解析できない場合。typesオプション内の任意のアイテムのacceptオプションの値文字列は、例えば、先頭が.でなく末尾が.である場合や、無効なコードポイントを含み、かつ長さが 16 を超える場合など、無効となった場合。typesオプションは空で、excludeAcceptAllOptionオプションはtrueである場合。
セキュリティ
ユーザーによる一時的な有効化が必要です。この機能が動作するためには、ユーザーがページまたは UI 要素を操作することが必要です。
例
以下の関数は、テキストファイルが選択しやすい状態でファイルピッカーを表示します。
async function getNewFileHandle() {
const opts = {
types: [
{
description: "テキストファイル",
accept: { "text/plain": [".txt"] },
},
],
};
return await window.showSaveFilePicker(opts);
}
仕様書
| 仕様書 |
|---|
| File System Access> # api-showsavefilepicker> |