前言本次案例5.7学习小程序本地文件操作。小程序提供FileSystemManager文件管理器支持读写、复制、获取文件信息本次作业额外扩展实现删除文件功能。项目基于skyline渲染模式体验小程序沙盒隔离的本地用户文件存储机制。项目目录├─ app.json ├─ app.wxss └─ pages └─ index ├─ index.wxml ├─ index.wxss └─ index.jsapp.json关键配置开启skyline渲染适配新版组件能力。{ pages: [pages/index/index], window: { navigationBarTextStyle: black, navigationStyle: custom }, style: v2, renderer: skyline }页面布局wxml界面由四部分组成标题、textarea文本输入框、功能按钮组、消息展示区域。navigation-bar title文件操作 back{{false}} colorblack background#FFF/navigation-bar scroll-view classscrollarea scroll-y typelist view classbox view classtitle{{title}}/view textarea placeholder请录入写入文件的内容 bind:inputinputText / view classbtn-layout button typeprimary sizemini bind:tapwrite写文件/button button typeprimary sizemini bind:tapcopy复制文件/button button typeprimary sizemini bind:tapread读文件/button button typeprimary sizemini bind:tapgetFileInfo文件信息/button /view !--作业扩展删除文件按钮-- view classbtn-layout button typeprimary sizemini bind:tapdeleteFile删除文件/button /view view classmsg-area{{msg}}/view /view /scroll-viewwxss设置样式输入框浅黄色消息区浅蓝色方便区分。/*app.wxss*/ .box { margin: 20rpx; padding: 20rpx; border: 2rpx solid purple; } .title { font-size: 40rpx; font-weight: bolder; text-align: center; margin-bottom: 30rpx; color: red; } /*index.wxss*/ page { height: 100vh; display: flex; flex-direction: column; } .scrollarea { flex: 1; overflow-y: hidden; } textarea { width: auto; margin-bottom: 40rpx; padding: 20rpx; font-size: 40rpx; background-color: lightgoldenrodyellow; } .btn-layout { display: flex; margin-bottom:20rpx; } .msg-area { width: auto; height: 360rpx; margin-top: 40rpx; padding: 20rpx; font-size: 40rpx; background-color: azure; }JS核心逻辑讲解获取文件管理器const fs wx.getFileSystemManager()wx.getFileSystemManager()获取全局唯一文件管理器所有文件操作都由fs对象调用。重要环境变量 wx.env.USER_DATA_PATHconst filePath ${wx.env.USER_DATA_PATH}/hello.txtwx.env.USER_DATA_PATH代表小程序用户沙盒目录模拟器路径前缀http://usr真机前缀wxfile://usr不要硬编码写死路径用模板字符串拼接路径注意是反引号 不要用单引号双引号。1、inputText监听文本输入textarea输入时触发修改页面标题保存输入文本到data。inputText(e) { this.setData({ title: 正在输入文字..., writedText: e.detail.value }) }2、writeFile写文件fs.writeFile()把textarea的字符串写入沙盒内hello.txt。write() { const fs wx.getFileSystemManager() const filePath ${wx.env.USER_DATA_PATH}/hello.txt fs.writeFile({ filePath, data: this.data.writedText, encoding: utf-8, success: res { const msg 写入文件成功: filePath this.setData({title:写文件,msg}) }, fail:errconsole.log(err) }) }###3、copyFile复制文件fs.copyFile(srcPath,destPath)把hello.txt复制一份生成hello_copy.txt。copy() { const fs wx.getFileSystemManager() const srcPath ${wx.env.USER_DATA_PATH}/hello.txt const destPath ${wx.env.USER_DATA_PATH}/hello_copy.txt fs.copyFile({ srcPath, destPath, success: res { const msg 复制文件成功: destPath this.setData({title:复制文件,msg}) } }) }###4、readFile读取文件 读取复制后的hello_copy.txtencoding:utf‑8把二进制转成字符串。read() { const fs wx.getFileSystemManager() const filePath ${wx.env.USER_DATA_PATH}/hello_copy.txt fs.readFile({ filePath, encoding: utf-8, success: res { const msg 读取文件成功: res.data this.setData({title:读文件,msg}) } }) }###5、getFileInfo获取文件信息fs.getFileInfo()可以拿到文件size大小、digest md5摘要哈希值。getFileInfo() { const fs wx.getFileSystemManager() const filePath ${wx.env.USER_DATA_PATH}/hello_copy.txt fs.getFileInfo({ filePath, success: res { const msg file size: ${res.size}, file digest: ${res.digest} this.setData({title:获取文件信息,msg}) } }) }✨作业扩展删除文件 fs.unlinkdeleteFile() { const fs wx.getFileSystemManager() const delPath ${wx.env.USER_DATA_PATH}/hello_copy.txt fs.unlink({ filePath: delPath, success: res { const msg 删除文件成功: delPath this.setData({title:删除文件,msg}) }, fail:err{ this.setData({msg:删除文件失败文件可能不存在}) } }) }小程序文件分类总结代码包文件项目目录打包上传的静态资源。本地临时文件用完即弃小程序重启会被回收。本地缓存文件不能自定义文件名。本地用户文件本案例使用USER_DATA_PATH目录自由读写、自定义文件名有存储上限沙盒隔离适合保存业务生成文件。总结通过这个案例学会了小程序文件管理器的增、删、改、查基础用法。文件系统可以用来保存用户生成的文本、下载保存图片做离线缓存功能。需要注意异步回调、沙盒路径、文件操作执行顺序。完整代码可以直接复制运行适合课程作业练习。
企业数字化 ERP 产品动态
相关推荐
从循环到图:收藏这份AI智能体并行化学习指南,小白程序员必备! 本文探讨了AI智能体从传统的循环式处理转向图式并行处理的变化。文章首先介绍了这一转变的背景和意义,指出图式智能体在处理复杂任务时,通过并行执行可以显著提高效率。接着,文章详细阐述了从提示词工程到循环工程,再到图工程的四… · 2026/11/7 8:59:15
小白程序员必看:AI冲击下如何逆袭,3项核心技能让你领先一步 本文通过权威报告分析了AI对就业市场的影响,指出约40%的岗位受AI影响,但多数是岗位被改造而非消失。文员类岗位受冲击最大,而数据、AI相关岗位需求激增。文章强调打工人需掌握AI技能以应对变革,建议学习“提问力”、“AI流程化”和… · 2026/11/6 6:36:15
小白程序员必看:一文看懂AI智能体三种连接协议(收藏版) 本文详细介绍了AI智能体中三种主流的连接协议:MCP、ANP和A2A。MCP主要解决AI模型与外部数据源、工具的交互问题;ANP则为智能体提供去中心化的协作方式;A2A则专注于不同来源智能体的交互与协作。文章从定义、架构、应用场景等多个方面对三种协… · 2026/11/6 6:36:15
厦门电工证多少钱考 厦门电工证多少钱考报名费多少钱 郑州报考避坑指南 厦门电工证多少钱考 厦门电工证多少钱考报名费多少钱 郑州报考避坑指南 你是不是正盯着手机屏幕上的“厦门电工证多少钱考”几个字,心里直打鼓?怕被中介坑,怕多花冤枉钱,怕报名流程太复杂,这事儿搁谁身上都得琢磨两三天。特别是你要是像我以前一样,在… · 2026/11/7 8:58:43
任村电工证怎么考?官方报名入口和避坑指南 任村电工证怎么考?官方报名入口和避坑指南 不知道去哪报名怕被中介坑?你不是一个人。任村电工证作为特种作业操作证的一种,是从事电力作业的基础门槛,但很多人在报考过程中因为信息不对称,被不正规的培训机构误导,花冤枉钱还拿不到证。今天就来聊聊,任… · 2026/11/7 8:58:43
dr电工证用处大么 2026河南最新政策下怎么考不白交培训费 dr电工证用处大么 2026河南最新政策下怎么考不白交培训费 怕考不过白交培训费?2026河南最新政策下,dr电工证到底有没有用?这事儿得从你为啥要考它说起。很多人觉得电工证就是个“摆设”,但实则不然,尤其是对于安阳地区打算转岗的人来说,d… · 2026/11/7 8:58:43
西安电工证换证考试真实经历:怕考不过白交培训费?老电工教你一招稳过 西安电工证换证考试真实经历:怕考不过白交培训费?老电工教你一招稳过 怕考不过白交培训费?西安电工证换证考试的备考过程,其实比你想象中更难。我认识的一个老电工,去年在许昌转岗到西安后,为了换证专门报了个培训班,结果考试没过,白扔了几千块。他跟… · 2026/11/7 8:58:43
办理咨询报考电工证需要什么材料 电工证报名被拒?学历不高怕报不上名?网上查询一招搞定 你是不是也担心自己学历不高,怕报不了电工证?别急,今天我就来聊聊【咨询报考电工证】的那些事儿,顺便教你怎么通过【网上查询】搞定报名资格。别再说“学历不够就白费力气”,我手上就有一个济源水… · 2026/11/7 8:57:43
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23
澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 证书过期了不知道怎么复审延期?别慌,很多人在拿到【澳洲水电工证考试】的电子证书后,一不小心就忽略了复审时间,结果证书失效,工作受阻,甚至被单位追责。今天就从【澳洲水电工证考试… · 2026/11/7 0:00:41
电工作业提示版通过率揭秘:怎么考才能一次过? 电工作业提示版通过率揭秘:怎么考才能一次过? 怕考不过白交培训费?别急,今天我就从驻马店应届工程类毕业生的视角,带你全面了解电工作业提示版的考试流程、备考要点和真实通过率,帮你少走弯路、提高一次通过率。… · 2026/11/7 0:00:41
电工证年审报名千万别踩坑 外省证转过来要搞清这几点 电工证年审报名千万别踩坑 外省证转过来要搞清这几点 之前考的证在外省能不能转过来?这个问题是很多电工从业者最关心的,特别是像你这样在商丘从事公路工程的人员,经常需要跨省流动,证书的 有效性 和 可迁移性… · 2026/11/7 0:00:41
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23