FileSystemFileHandle.createWritable()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
FileSystemFileHandle
インターフェイスの createWritable()
メソッドは、ファイルへの書き込みができる FileSystemWritableFileStream
を作成します。このメソッドは、作成されたストリームで解決する Promise
を返します。
ストリームに対してなされたあらゆる変更は、ストリームを閉じるまで、ファイルハンドルが表すファイルには反映されません。これは、典型的には、データを一時ファイルに書き込み、書き込み可能なファイルストリームが閉じられてはじめてファイルハンドルが表すファイルを一時ファイルで置き換えることで実装されています。
構文
createWritable()
引数
- FileSystemCreateWritableOptions
-
メソッドに渡すオプションを表すオブジェクトです。以下のオプションがあります。
keepExistingData
:false
であるか指定されない場合、一時ファイルは空に初期化されます。 そうでない場合、既存のファイルがまず一時ファイルにコピーされます。
返値
FileSystemWritableFileStream
オブジェクトで解決される Promise
を返します。
例外
- NotAllowedError
-
ハンドルの
PermissionStatus.state
がreadwrite
モードで'granted'
でないとき投げられます。
例
以下の非同期関数は、与えられた内容をファイルハンドルに書き込むことで、ディスクに書き込みます。
async function writeFile(fileHandle, contents) {
// 書き込み先の FileSystemWritableFileStream を作成する
const writable = await fileHandle.createWritable();
// ファイルの内容をストリームに書き込む
await writable.write(contents);
// ファイルを閉じ、内容をディスクに書き込む
await writable.close();
}
仕様書
Specification |
---|
File System Standard # api-filesystemfilehandle-createwritable |
ブラウザーの互換性
BCD tables only load in the browser