chrome.fileSystem

説明

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

権限

fileSystem

対象

<ph type="x-smartling-placeholder"></ph> フォアグラウンドのみ

AcceptOption

プロパティ

  • description

    文字列(省略可)

    このオプションのテキストによる説明です(省略可)。存在しない場合は、説明が自動的に生成されます。有効な拡張子の拡張リストを含むことが一般的です(たとえば、「text/html」は「*.html, *.htm」と展開されます)。

  • 拡張機能

    文字列 [] 省略可

    受け入れ可能な拡張機能(例:"jpg"、"gif"、"crx"。

  • mimeTypes

    文字列 [] 省略可

    受け入れる MIME タイプ。例:「image/jpeg」や「audio/*」など)を指定します。mimeTypes または拡張機能のいずれかに、有効な要素が 1 つ以上含まれている必要があります。

ChooseEntryOptions

プロパティ

  • 受け入れる

    AcceptOption[] 省略可

    このファイル オープナーの承認オプションのリスト(省略可)。各オプションは一意のグループとしてエンドユーザーに表示されます。

  • acceptsAllTypes

    ブール値(省略可)

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

  • acceptsMultiple

    ブール値(省略可)

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

  • suggestedName

    文字列(省略可)

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

  • type

    ChooseEntryType 省略可

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

ChooseEntryType

列挙型

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

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

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

&quot;openDirectory&quot;
ディレクトリを開くようユーザーに促し、成功すると DirectoryEntry を返します。アプリケーションに「ディレクトリ」がない場合、このタイプを使用した呼び出しはランタイム エラーで失敗します権限を確認してください。アプリケーションに「write」コマンドが「fileSystem」で権限を持っていると、返される DirectoryEntry は書き込み可能になります。それ以外の場合は読み取り専用になりますChrome 31 の新機能。

RequestFileSystemOptions

Chrome 44 以降

プロパティ

  • volumeId

    文字列

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

  • 書き込み可能

    ブール値(省略可)

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

Volume

Chrome 44 以降

プロパティ

  • volumeId

    文字列

  • 書き込み可能

    ブール値

VolumeListChangedEvent

Chrome 44 以降

プロパティ

メソッド

chooseEntry()

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

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

パラメータ

  • オプション
  • callback

    関数

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

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

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

      エントリ(省略可

    • fileEntries

      FileEntry[] 省略可

getDisplayPath()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

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

パラメータ

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

    エントリ

  • callback

    関数(省略可)

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

    (displayPath: string) => void

    • displayPath

      文字列

戻り値

  • Promise<文字列>

    Chrome 117 以降

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

getVolumeList()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 44 以降 をご覧ください。
chrome.fileSystem.getVolumeList(
  callback?: function,
)

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

パラメータ

  • callback

    関数(省略可)

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

    (volumes?: Volume[]) => void

戻り値

  • Promise&lt;Volume[] |未定義>

    Chrome 117 以降

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

getWritableEntry()

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

別のエントリから書き込み可能なエントリを取得します。アプリケーションに「write」コマンドがない場合、この呼び出しはランタイム エラーで失敗します。権限を確認してください。エントリが DirectoryEntry の場合、アプリケーションに「ディレクトリ」がない場合、この呼び出しは失敗します。権限を確認してください。

パラメータ

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

    エントリ

  • callback

    関数

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

    (entry: Entry) => void

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

      エントリ

isRestorable()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

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

パラメータ

  • id

    文字列

  • callback

    関数(省略可)

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

    (isRestorable: boolean) => void

    • isRestorable

      ブール値

戻り値

  • Promise&lt;boolean&gt;

    Chrome 117 以降

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

isWritableEntry()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

このエントリが書き込み可能かどうかを取得します。

パラメータ

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

    エントリ

  • callback

    関数(省略可)

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

    (isWritable: boolean) => void

    • isWritable

      ブール値

戻り値

  • Promise&lt;boolean&gt;

    Chrome 117 以降

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

requestFileSystem()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 44 以降 をご覧ください。
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

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

パラメータ

  • オプション
  • callback

    関数(省略可)

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

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem(省略可)

戻り値

  • Promise&lt;FileSystem |未定義>

    Chrome 117 以降

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

restoreEntry()

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

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

パラメータ

  • id

    文字列

  • callback

    関数

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

    (entry: Entry) => void

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

      エントリ

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

指定されたファイル エントリへのアクセスを復元するために restoreEntry に渡すことができる ID を返します。最近使用された 500 個のエントリのみが保持され、retainEntry と restoreEntry の呼び出しが使用としてカウントされます。アプリに「retainEntries」オペレーションと権限があると、エントリは無期限に保持されます。それ以外の場合、エントリはアプリが実行されている間、再起動後にのみ保持されます。

パラメータ

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

    エントリ

戻り値

  • 文字列

イベント

onVolumeListChanged

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

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

パラメータ