---
title: File Handling API:PWA 文件处理注册与路由
keywords:
- File Handling
- file_handlers
- LaunchQueue
- 文件路由
- Manifest
description: 说明在 Manifest 中注册文件处理入口、通过 LaunchQueue 接收文件并路由到应用,涵盖权限与兼容回退策略及示例。
categories:
- 应用软件
- 系统工具
---
概述
File Handling API 允许已安装的 PWA 成为系统的文件处理目标。通过 Manifest 的 file_handlers 注册可接受的类型与入口,并在页面使用 launchQueue 获取传入文件进行处理。
Manifest 片段
{
"file_handlers": [{
"action": "/open",
"accept": [{ "mime_type": "text/plain", "file_extensions": [".txt"] }]
}]
}
接收文件与路由
window.launchQueue.setConsumer(async (params) => {
for (const f of params.files) {
const file = await f.getFile()
const text = await file.text()
// 路由到编辑器视图
openEditorWithText(text)
}
})
工程建议
- 权限与 UX:清晰提示文件用途与来源;处理用户取消与异常。
- 兼容:在不支持平台回退到手动打开/拖拽;在网页端提供上传入口。
- 安全:校验文件类型与大小;避免执行不可信内容。
参考与验证
- Chrome 平台文档(File Handling):https://developer.chrome.com/docs/web-platform/file-handling/
- web.dev 指南:https://web.dev/articles/file-handling

发表评论 取消回复