新闻中心
如何利用J*aScript的File System Access API访问本地文件?
File System Access API允许Web应用在安全上下文中直接读写本地文件。通过showOpenFilePicker()选择文件并获取FileSystemFileHandle,调用getFile()后使用text()、arrayBuffer()或stream()读取内容,支持文本、二进制和大文件。保存文件需用showS*eFilePicker()获取句柄,创建可写流并写入数据。该API仅在HTTPS或localhost下由用户触发时可用,且主要支持Chrome 86+,Safari等浏览器暂不支持,需降级处理。核心是“句柄”机制,确保安全访问。

J*aScript的File System Access API让Web应用可以直接与用户设备上的文件系统交互,允许读取、写入和保存本地文件,而无需通过传统的上传下载方式。这个API主要在现代浏览器(如Chrome 86+)中支持,适用于需要处理本地文档的应用,比如文本编辑器、代码编辑工具等。
请求访问单个文件
使用showOpenFilePicker()方法可以让用户选择一个或多个文件,并获取对它们的访问权限。
基本用法如下:
async function openFile() {
try {
const [fileHandle] = await window.showOpenFile_picker();
const file = await fileHandle.getFile();
const content = await file.text();
console.log(content);
} catch (err) {
console.error("用户取消操作或发生错误", err);
}
}
说明:
- 调用showOpenFilePicker()会弹出文件选择框
- 返回的是FileSystemFileHandle对象数组,从中可获取实际文件
- getFile() 获取File对象,再用.text()读取文本内容
读取多种类型文件内容
根据文件类型,可以使用不同方法读取内容:
- 文本文件(.txt, .json, .js 等):使用file.text()
- 二进制数据(图片、PDF等):使用file.arrayBuffer()
- 大文件流式读取:使用file.stream()
示例:读取JSON文件
async function openJSONFile() {
const [handle] = await window.showOpenFilePicker({
types: [{
description: 'JSON 文件',
accept: { 'application/json': ['.json'] }
}]
});
const file = await handle.getFile();
const content = await file.text();
return JSON.parse(content);
}
将内容保存到文件
使用showS*eFilePicker()可以让用户指定保存路径并写入文件。
秀脸FacePlay
一款集成AI换脸、照片跳舞等多种AI特效玩法的App
124
查看详情
步骤包括:
- 请求保存位置,获得文件句柄
- 创建可写流
- 写入内容并关闭流
示例:保存文本内容
async function s*eFile(content) {
const handle = await window.showS*eFilePicker({
suggestedName: 'document.txt',
types: [{
description: '文本文档',
accept: { 'text/plain': ['.txt'] }
}]
});
const writable = await handle.createWritable();
await writable.write(content);
await writable.close();
}
检查浏览器支持和安全限制
该API只能在安全上下文中使用(HTTPS 或 localhost),并且需要用户主动触发(如点击按钮)才能调用。
建议先检测是否支持:
if ('showOpenFilePicker' in window) {
// 可以使用 File System Access API
} else {
alert('当前浏览器不支持此功能,请使用 Chrome 或 Edge 最新版');
}
注意:Safari 和部分浏览器暂未支持,需做好降级处理(例如回退到 input[type=file])。
基本上就这些。掌握这几个核心方法后,就能实现较完整的本地文件读写功能。关键是理解“句柄(Handle)”的概念——它代表对某个文件或目录的引用,是安全模型的一部分,避免网页随意访问整个磁盘。
以上就是如何利用J*aScript的File System Access API访问本地文件?的详细内容,更多请关注其它相关文章!
# java
# 推广无纸化营销的工具
# 佛山问答seo推广外包
# 电子杂志营销推广方式
# 内江营销推广电话是多少
# 在模型网站建设需要
# 创意模型网站建设论文
# 就能
# 有哪些
# 文档
# 大文件
# 的是
# 如何实现
# 如何用
# 可以使用
# javascript
# js
# json
# 浏览器
# app
# edge
# access
# 工具
# safari
# ai
# pdf
# 句柄
# 如何使用
# 唐山智能化网站推广介绍
# SEO人才公园灯光
# 新媒体营销推广系统图片
# 百度排名会改关键词
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】
迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法
Composer如何处理Git子模块(submodule)依赖_Composer与Git Submodule的对比与选择
12306选座怎么选到商务座_12306商务座选择与配置说明
qq游戏免费畅玩入口_qq游戏电脑版快速启动
想当下一个《2077》?《心之眼》Steam评价升至"多半好评"
如何使用Go和Martini动态服务解码后的图片
excel怎么制作工资条 excel快速生成工资条的方法
AO3官方镜像站点汇总 AO3同人作品网页版直达链接
包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比
AO3官网镜像链接 Archive of Our Own同人文在线浏览
C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用
《燕云十六声》两周内达九百万玩家!位居畅销榜第五
Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】
Steam官网入口直达 Steam注册及登录步骤
Lar*el Form Request中唯一性验证在更新操作中的正确实现
PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果
快速CSGO开箱网站指南 CSGO开箱平台推荐
css滚动动画效果怎么实现_使用Animate.css滚动触发动画类
Excel Power Pivot如何处理XML数据源 构建高级数据模型
Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
在WordPress中通过REST API获取BasicAuth保护的远程文章
构建轻量级网站内部消息系统:Formspree 集成指南
知音漫客正版漫画平台_知音漫客官网账号登录
提升屏幕阅读器对“m”时间单位的播报准确性:HTML与CSS组合解决方案
J*aScript中正确使用querySelectorAll与复杂CSS选择器
汽水音乐在线版入口_汽水音乐网页播放手册
斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程
Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】
Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略
多闪网页版在线观看免费入口_多闪官网访问入口
J*aScript实现单选按钮与关联输入框的联动禁用教程
将JSON对象数组转置为键值对列表的实用指南
Lar*el头像管理:图片缩放与旧文件删除的最佳实践
印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】
CSS Box Model与弹性按钮:维持布局稳定的动画实践
使用 Pandas 高效处理 .dat 文件:字符清理与数据计算
QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录
腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址
绝地鸭卫平a核爆刀流玩法攻略
J*a应用程序首次运行自动创建文件与目录的最佳实践
QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用
解决 Express.js 中 PUT 请求密码修改失败的路由配置指南
铁路12306改签能改到更早的车次吗_铁路12306改签提前车次规则
AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南
在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明
漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址


2025-10-13
浏览次数:次
返回列表