chrome.fileSystem

描述 使用 chrome.fileSystem API 在用户的本地文件系统中创建、读取、浏览、写入文件。Chrome 应用可以通过该 API 在用户选定的位置读取和写入文件,例如文本编辑器应用可以使用该 API 读取和写入本地文档。所有失败信息都通过 runtime.lastError 通知。
可用版本 从 Chrome 23 开始支持。
权限 "fileSystem"
{"fileSystem": ["write"]}
{"fileSystem": ["write", "retainEntries", "directory"]}
了解更多 管理数据
用 AngularJS 建立应用
Chrome 应用办公时间:TextDrive 与 AngularJS

摘要

类型
EntryChangedEvent
EntryRemovedEvent
方法
getDisplayPath chrome.fileSystem.getDisplayPath(Entry entry, function callback)
getWritableEntry chrome.fileSystem.getWritableEntry(Entry entry, function callback)
isWritableEntry chrome.fileSystem.isWritableEntry(Entry entry, function callback)
chooseEntry chrome.fileSystem.chooseEntry(object options, function callback)
restoreEntry chrome.fileSystem.restoreEntry(string id, function callback)
isRestorable chrome.fileSystem.isRestorable(string id, function callback)
retainEntry string chrome.fileSystem.retainEntry(Entry entry)

类型

EntryChangedEvent

从 Chrome 38 开始支持。警告:目前为 Dev 分支。了解更多内容

属性
Entry target

Tracked entry.

array of object (可选)
childChanges

List of changed entries within the tracked directory in order they happened. May not be available for some types of file systems.

每一个对象的属性

Entry entry
enum of "created", "removed", or "changed" type

EntryRemovedEvent

从 Chrome 38 开始支持。警告:目前为 Dev 分支。了解更多内容

属性
Entry target

方法

getDisplayPath

chrome.fileSystem.getDisplayPath(Entry entry, function callback)

获取 FileEntry 对象的显示路径。显示路径基于文件在本地文件系统上的完整路径,但是可能会为了显示的目的而使可读性更好。

参数
Entry entry

从 Chrome 31 开始支持。

function callback

callback 参数应该是一个如下形式的函数:

function(string displayPath) {...};
string displayPath

getWritableEntry

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

从另一个 Entry 获取可写的 Entry。如果应用程序没有 'fileSystem' 下的 'write' 权限则该方法会失败,产生运行时错误。如果项目为 DirectoryEntry(目录项),应用程序必须拥有 "fileSystem" 之下的 "directory" 权限,否则调用会失败。

参数
Entry entry

从 Chrome 31 开始支持。

function callback

callback 参数应该是一个如下形式的函数:

function(Entry entry) {...};
Entry entry

isWritableEntry

chrome.fileSystem.isWritableEntry(Entry entry, function callback)

获取该 Entry 对象是否可以写入的信息。

参数
Entry entry

从 Chrome 31 开始支持。

function callback

callback 参数应该是一个如下形式的函数:

function(boolean isWritable) {...};
boolean isWritable

chooseEntry

chrome.fileSystem.chooseEntry(object options, function callback)

让用户选择文件或目录。

参数
object (可选)
options
enum of "openFile", "openWritableFile", "saveFile", or "openDirectory" (可选)
type

显示的提示类型,默认为 'openFile'(打开文件)。

openFile
提示用户打开现有文件,并在成功后返回只读的 FileEntry(文件项)。从 Chrome 31 开始,如果应用程序拥有 "fileSystem" 之下的 "write" 权限,返回的 FileEntry 可写,否则只读。
openWritableFile
提示用户打开现有文件,并在成功后返回可写的 FileEntry(文件项)。如果应用没有 'fileSystem' 下的 'write' 权限,使用这种类型的调用将会失败,产生运行时错误。
saveFile
提示用户打开现有文件或新文件,并在成功后返回可写的 FileEntry(文件项)。如果应用没有 'fileSystem' 下的 'write' 权限,使用这种类型的调用将会失败,产生运行时错误。
openDirectory
提示用户打开目录,并在成功后返回 DirectoryEntry(目录项)。如果应用程序没有 "fileSystem" 之下的 "directory" 权限,使用这种类型调用会失败,产生运行时错误。如果应用程序拥有 "fileSystem" 之下的 "write" 权限,返回的 DirectoryEntry 可写,否则只读。该类型在 Chrome 31 中新增。
string (可选)
suggestedName

展现给用户的推荐文件名,作为要读取或写入的默认文件名,该参数可选。

array of object (可选)
accepts

该文件打开器可选接受选项的列表,对最终用户来说,每一个选项都会呈现为唯一的分组。

每一个对象的属性

string (可选)
description

这是该选项的可选文字描述。如果不存在的话,将会自动生成描述,通常包含扩充之后的有效扩展名列表(例如 "text/html" 将扩充为 "*.html, *.htm")。

array of string (可选)
mimeTypes

可接受的 MIME 类型,例如 "image/jpeg" 或 "audio/*"。mimeTypes 或 extensions 其中之一必须包含至少一个有效元素。

array of string (可选)
extensions

可接受的扩展名,例如 ["jpg", "gif", "crx"]。

boolean (可选)
acceptsAllTypes

除了 accepts 字段中指定的选项外,是否接受所有文件类型,默认为 true。如果 accepts 字段未设置或没有包含有效的项,它始终会被重置为 true 。

boolean (可选)
acceptsMultiple

从 Chrome 30 开始支持。

是否接受多个文件,仅在 'openFile'(打开文件)和 'openWritableFile'(打开可写文件)时支持。如果该属性设置为 true,调用 chooseEntry 的回调函数时会传递文件项列表,否则传递单个文件项。

function callback

callback 参数应该是一个如下形式的函数:

function(Entry entry, array of FileEntry fileEntries) {...};
Entry (可选)
entry
array of FileEntry (可选)
fileEntries

每一个对象的属性

restoreEntry

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

从 Chrome 29 开始支持。

如果可以恢复则恢复指定标识符的文件项,否则该调用会失败,产生运行时错误。

参数
string id
function callback

callback 参数应该是一个如下形式的函数:

function(Entry entry) {...};
Entry entry

isRestorable

chrome.fileSystem.isRestorable(string id, function callback)

从 Chrome 29 开始支持。

返回应用是否有权限恢复指定标识符的文件项。

参数
string id
function callback

callback 参数应该是一个如下形式的函数:

function(boolean isRestorable) {...};
boolean isRestorable

retainEntry

string chrome.fileSystem.retainEntry(Entry entry)

从 Chrome 29 开始支持。

返回一个标识符,可以传递给 restoreEntry 而重新获得指定文件项的访问。只能保留最近使用的 500 个项目,调用 retainEntry 和 restoreEntry 都算作使用。如果应用拥有 'fileSystem' 之下的 'retainEntries' 权限,项目将永久保留。否则,只有应用运行时或重新启动后才会保留。

参数
Entry entry

从 Chrome 31 开始支持。