清单文件——文件处理程序

打包应用使用,指定应用可以处理的文件类型。一个应用可以包含多个 file_handlers(文件处理器),每一个都应该包含标识符、可以处理的 MIME 类型和/或文件扩展名列表。应用可以处理文件扩展名匹配或者 MIME 类型匹配的文件。您可以在 typesextensions 中使用通配符“*”,表示应用可以处理任何文件类型,也可以在 types 中指定“type/*”,表示应用可以处理 MIME 类型为 type 的任何文件。如下是一个指定文件处理器的例子:

"file_handlers": {
  "text": {
    "types": [
      "text/*"
    ],
    "title": "{应用名称}"
  },
  "image": {
    "types": [
      "image/png",
      "image/jpeg"
    ],
    "extensions": [
      "tiff"
    ],
    "title": "{应用名称}"
  },
  "any": {
    "extensions": [
      "*"
    ],
    "title": "{应用名称}"
  }
}

Chrome 37 和更早版本中必须指定 title 属性。从 Chrome 38 开始,该属性弃用并忽略(而是使用应用名称)。为了保持兼容,title 应该始终为应用的名称。

为了处理文件,应用还需要声明 fileSystem 权限。这样就会在 app.runtime.onLaunched 事件中向应用传递文件,文件可能来自系统的文件管理器(当前仅在 ChromeOS 上支持),也可能是通过命令行指定的路径。