chrome.fileSystem

説明

chrome.fileSystem API を使用して、ユーザーのローカル ファイル システムの作成、読み取り、ナビゲーション、書き込みを行います。この API を使用すると、Chrome アプリはユーザーが選択した場所に読み書きできます。たとえば、テキスト エディタ アプリは API を使用してローカル ドキュメントの読み取りと書き込みを行うことができます。すべてのエラーは chrome.runtime.lastError で通知されます。

権限

fileSystem

対象

フォアグラウンドのみ

AcceptOption

プロパティ

  • 説明

    文字列 省略可

    これは、このオプションのテキスト説明(省略可)です。存在しない場合は、説明が自動的に生成されます。通常、有効な拡張子のリストが展開されます(例: 「text/html」は「*.html, *.htm」に展開されます)。

  • 拡張機能

    string[] 省略可

    受け入れる拡張機能(例: jpg、gif、crx)。

  • mimeTypes

    string[] 省略可

    受け入れる MIME タイプ(「image/jpeg」や「audio/*」など)。mimeTypes または extensions のいずれかに、有効な要素を少なくとも 1 つ含める必要があります。

ChooseEntryOptions

プロパティ

  • accepts

    AcceptOption[] 省略可

    このファイルを開くための受け入れオプションの省略可能なリスト。各オプションは、エンドユーザーに個別のグループとして表示されます。

  • acceptsAllTypes

    ブール値(省略可)

    accepts 引数で指定されたオプションに加えて、すべてのファイル形式を受け入れるかどうか。デフォルトは true です。accepts フィールドが設定されていないか、有効なエントリが含まれていない場合、この値は常に true にリセットされます。

  • acceptsMultiple

    ブール値(省略可)

    複数のファイルを受け入れるかどうか。これは、openFile と openWritableFile でのみサポートされています。これが true に設定されている場合、chooseEntry へのコールバックはエントリのリストとともに呼び出されます。それ以外の場合は、単一のエントリで呼び出されます。

  • suggestedName

    文字列 省略可

    読み取りまたは書き込みのデフォルト名としてユーザーに提示される推奨ファイル名。これは省略可能です。

  • type

    ChooseEntryType 省略可

    表示するプロンプトのタイプ。デフォルトは「openFile」です。

ChooseEntryType

列挙型

「openFile」
既存のファイルを開くようユーザーに促し、成功した場合は FileEntry を返します。Chrome 31 以降では、アプリケーションに 'fileSystem' の 'write' 権限がある場合、FileEntry は書き込み可能になります。それ以外の場合、FileEntry は読み取り専用になります。

「openWritableFile」
既存のファイルを開くようユーザーに促し、成功した場合は書き込み可能な FileEntry を返します。このタイプを使用する呼び出しは、アプリに 'fileSystem' の 'write' 権限がない場合、ランタイム エラーで失敗します。

「saveFile」
既存のファイルまたは新しいファイルを開くようユーザーに促し、成功した場合は書き込み可能な FileEntry を返します。このタイプを使用する呼び出しは、アプリに 'fileSystem' の 'write' 権限がない場合、ランタイム エラーで失敗します。

"openDirectory"
ユーザーにディレクトリを開くよう促し、成功した場合は DirectoryEntry を返します。この型を使用する呼び出しは、アプリに 'fileSystem' の 'directory' 権限がない場合、ランタイム エラーで失敗します。アプリケーションに 'fileSystem' の 'write' 権限がある場合、返される DirectoryEntry は書き込み可能になります。それ以外の場合は読み取り専用になります。Chrome 31 の新機能。

RequestFileSystemOptions

Chrome 44 以降

プロパティ

  • volumeId

    文字列

    リクエストされたボリュームの ID。

  • 書き込み可能

    ブール値(省略可)

    リクエストされたファイル システムが書き込み可能かどうか。デフォルトは読み取り専用です。

Volume

Chrome 44 以降

プロパティ

  • volumeId

    文字列

  • 書き込み可能

    ブール値

VolumeListChangedEvent

Chrome 44 以降

プロパティ

メソッド

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

ユーザーにファイルまたはディレクトリを選択するよう求めます。

パラメータ

  • オプション
  • callback

    関数

    callback パラメータは次のようになります。

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • 必要事項を入力します。

      エントリ 省略可

    • fileEntries

      FileEntry[] 省略可

getDisplayPath()

Promise
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Entry オブジェクトの表示パスを取得します。表示パスは、ローカル ファイル システム上のファイルまたはディレクトリのフルパスに基づいていますが、表示目的で読みやすくするために変更されることがあります。

パラメータ

  • 必要事項を入力します。

    エントリ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (displayPath: string) => void

    • displayPath

      文字列

戻り値

  • Promise<string>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getVolumeList()

Promise Chrome 44 以降
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

requestFileSystem() で使用可能なボリュームのリストを返します。"fileSystem": {"requestFileSystem"} マニフェスト権限が必要です。キオスク セッションで実行されているキオスクアプリでのみ使用できます。エラーが発生した場合、volumes は未定義になり、chrome.runtime.lastError が設定されます。

パラメータ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (volumes?: Volume[]) => void

    • volumes

      Volume[](省略可)

戻り値

  • Promise<Volume[] | undefined>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)
: void

別の Entry から書き込み可能な Entry を取得します。アプリケーションに 'fileSystem' の 'write' 権限がない場合、この呼び出しはランタイム エラーで失敗します。エントリが DirectoryEntry の場合、アプリケーションに 'fileSystem' の 'directory' 権限がないと、この呼び出しは失敗します。

パラメータ

  • 必要事項を入力します。

    エントリ

  • callback

    関数

    callback パラメータは次のようになります。

    (entry: Entry) => void

    • 必要事項を入力します。

      エントリ

isRestorable()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

指定された ID のエントリを復元する権限がアプリにあるかどうかを返します。

パラメータ

  • id

    文字列

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (isRestorable: boolean) => void

    • isRestorable

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

この Entry が書き込み可能かどうかを取得します。

パラメータ

  • 必要事項を入力します。

    エントリ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (isWritable: boolean) => void

    • isWritable

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

requestFileSystem()

Promise Chrome 44 以降
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

options.volumeId で表されるボリュームのファイル システムへのアクセスをリクエストします。options.writable が true に設定されている場合、ファイル システムは書き込み可能になります。それ以外の場合は読み取り専用になります。writable オプションには、マニフェストで "fileSystem": {"write"} 権限が必要です。キオスク セッションで実行されているキオスクアプリでのみ使用できます。手動起動のキオスクモードでは、アクティブなアプリ ウィンドウの上に確認ダイアログが表示されます。エラーが発生した場合、fileSystem は未定義になり、chrome.runtime.lastError が設定されます。

パラメータ

  • オプション
  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem 省略可

戻り値

  • Promise<FileSystem | undefined>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)
: void

復元可能な場合は、指定された ID のファイル エントリを返します。それ以外の場合、この呼び出しはランタイム エラーで失敗します。

パラメータ

  • id

    文字列

  • callback

    関数

    callback パラメータは次のようになります。

    (entry: Entry) => void

    • 必要事項を入力します。

      エントリ

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

指定されたファイル エントリへのアクセス権を復元するために restoreEntry に渡すことができる ID を返します。最近使用されたエントリのうち、上位 500 件のみが保持されます。retainEntry と restoreEntry の呼び出しは使用としてカウントされます。アプリが「fileSystem」で「retainEntries」権限を持っている場合、エントリは無期限に保持されます。それ以外の場合、エントリはアプリの実行中と再起動時にのみ保持されます。

パラメータ

  • 必要事項を入力します。

    エントリ

戻り値

  • 文字列

イベント

onVolumeListChanged

Chrome 44 以降
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

利用可能なボリュームのリストが変更されたときに呼び出されます。

パラメータ