微信小程序文件相关操作(新建文件夹、下载、解压、读取等)

这篇具有很好参考价值的文章主要介绍了微信小程序文件相关操作(新建文件夹、下载、解压、读取等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用到的api介绍

  • wx.downloadFile() //下载
  • wx.getFileSystemManager() //获取小程序的文件管理器
  • FileSystemManager.unzip()//解压
  • FileSystemManager.readdir() //读取文件夹
  • FileSystemManager.readFile() //读取文件
  • FileSystemManager.access()//判断文件/目录是否存在
  • FileSystemManager.mkdir() //创建文件夹
index.js
  1. onload中获取FileSystemManger的全局唯一文件管理器

    onLoad: function (options) {
      this.FileSystemManager = wx.getFileSystemManager();
      //执行下载
      this.downloadZipHandler();
    },
    
  2. 检查本地文件夹是否存在,不存在执行创建文件夹,然后下载。如果存在直接下载。

    本地用户文件是从 1.7.0 版本开始新增的概念。我们提供了一个用户文件目录给开发者,开发者对这个目录有完全自由的读写权限。通过 wx.env.USER_DATA_PATH 可以获取到这个目录的路径。

    downloadZipHandler() {
        let { FileSystemManager } = this;
        let that = this;
        FileSystemManager.access({
          path: `${wx.env.USER_DATA_PATH}/kk`,
          success(res) {
            console.log('success', res)
            DownloadHandler();
          },
          fail(err) {
            console.log('fail', err)
            FileSystemManager.mkdir({
              dirPath: `${wx.env.USER_DATA_PATH}/kk`,
              success(res) {
                console.log('success', res)
                DownloadHandler();
              },
              fail(err) {
                console.log('fail', err);
              }
            })
          }
        })
        function DownloadHandler() {
          wx.downloadFile({
            
            url: 'https://localhost/book.zip',
            filePath: `${wx.env.USER_DATA_PATH}/kk/book.zip`,
            success(res) {
              console.log(res);
              that.setData({
                bookZipPath: res.filePath
              })
            },
            fail(err) {
              console.log('fail', err)
            }
          })
        }
      },
    
  3. 下载完成后,解压到本地文件夹

    unzipHandler() {
        let { FileSystemManager } = this;
        let { bookZipPath } = this.data;
        FileSystemManager.unzip({
          zipFilePath: bookZipPath,
          targetPath: `${wx.env.USER_DATA_PATH}/jj`,
          success(res) {
            console.log(res);
          },
          fail(err) {
            console.log('fail', err)
          }
        })
      },
    
  4. 读取文件夹里的文件列表,可以得到文件夹下的文件名列表

    readDirHandler() {
        let { FileSystemManager } = this;
        FileSystemManager.readdir({
          dirPath: `${wx.env.USER_DATA_PATH}/jj`,
          success(res) {
            console.log(res);
          },
          fail(err) {
            console.log('fail', err)
          }
        })
      },
    
  5. 读取具体文件,可以拿到文件的内容文章来源地址https://www.toymoban.com/news/detail-557870.html

    readFileHandler() {
        let { FileSystemManager } = this;
        FileSystemManager.readFile({
          filePath: `${wx.env.USER_DATA_PATH}/jj/eric.json`,
          encoding: 'utf8',
          success(res) {
            console.log(res);
            let result = JSON.parse(res.data);
            console.log(result);
          },
          fail(err) {
            console.log('fail', err)
          }
        })
      },

到了这里,关于微信小程序文件相关操作(新建文件夹、下载、解压、读取等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 电脑桌面为什么不能新建文件夹?电脑桌面无法新建文件夹怎么办?

    我们在使用电脑的时候,会产生各种各样的文件夹,在需要的时候也会创建新的文件夹。在电脑桌面创建文件夹非常方便,一来方便我们整理电脑桌面的东西,二来方便我们查找文件。最近有不少用户遇到了电脑桌面不能新建文件夹的情况,这是怎么回事?那么 ,电脑桌面为

    2024年02月09日
    浏览(69)
  • Node.js-fs模块文件创建、删除、重命名、文件内容的写入、读取以及文件夹的相关操作

    异步写入:writeFile() 同步写入:writeFileSync() 异步追加写入:appendFile() 同步追加写入:appendFileSync() 方式一(appendFile): 方式二(writeFile): fs.createWriteStream( path [, options ] ) 程序打开一个文件是需要消耗资源的 ,流式写入可以减少打开关闭文件的次数。 流式写入方式适用于

    2024年02月14日
    浏览(104)
  • mac无法在移动硬盘上新建文件夹 mac如何在移动硬盘新建文件夹

    明明是新买的硬盘,为什么把移动硬盘插入Mac后,Mac无法在移动硬盘上新建文件夹呢?相信很多Mac用户都曾遇到过Mac无法在移动硬盘上新建文件夹的问题。为什么会出现这样的问题呢?用户应该怎么解决呢?本文就来为大家介绍mac无法在移动硬盘上新建文件夹怎么办、mac如何

    2024年02月08日
    浏览(149)
  • 用python实现新建文件夹及移动、复制文件

    一.移动文件时遇到的问题 目标: 根据文件名中的年份判断,将同一个文件夹下的所有文件分别移动到新建的相应年份的文件夹中。 1.提取文件名: 先用.划分,提取前面一部分,之后用_划分,提取第4部分,最后提取年月日中的年份。 !!![a:b]是提取从a到b-1之间的数,而

    2023年04月19日
    浏览(45)
  • 使用javaAPI对HDFS进行文件上传,下载,新建文件及文件夹删除,遍历所有文件

    目录 //通过工具类来操作hdfs   hdfs dfs -put d:user_info.txt  /user_info.txt  // 将文件放入到hdfs中  2.通过工具类来操作hdfs   hdfs dfs -get hdfs路径   本地路经  将文件放入到本地Windows中 3.通过工具类来操作hdfs   hdfs dfs -mkdir -p  hdfs路径 4.通过工具类来操作hdfs  查看一个文件是否存在

    2024年02月12日
    浏览(50)
  • python-自动化篇-办公-批量新建文件夹并保存日志信息

    因为业务需要,每天都需要按当天的日期创建很多新文件夹。把这种重复又繁重的操作交给Python来做,一直是我的目标。先说下要求: 默认在桌面新建文件夹。 文件夹命名方式,“月.日-1”,比如7.8-1,7.8-2。7是代表当天的月份,不能显示07。8是代表当天的日期,不能显示

    2024年02月20日
    浏览(50)
  • Github仓库中怎么新建文件夹、Github的项目中如何上传图片

    在Github仓库中创建新文件夹的步骤如下: 首先进入您的Github仓库页面。 在仓库页面中,点击“Add file”按钮,然后选择“Create new file”。 在文件名输入框里输入文件夹名称,例如“my_folder/”,注意末尾要加上“/”来表示这是一个文件夹。 然后在文件名后面按回车键,Gith

    2024年02月04日
    浏览(51)
  • gitee新建仓库导入文件夹的入门避坑指引:关于我碰到的那些坑

    1.先贴上我参考的那些文章: 浅析Gitee怎么上传20个以上的文件-git-PHP中文网 Gitee如何上传整个项目文件夹_gitee上传文件夹-CSDN博客(这个是最重要的) git问题error: remote origin already exists._git error: remote origin already exists.-CSDN博客(这个是第二重要的) 解决 “fatal: Could not read fr

    2024年02月03日
    浏览(39)
  • Linux-文件文件夹相关命令

    目录 常见命令 1. 创建空目录:mkdir 文件夹名 2. 删除空目录:rmdir 文件夹名 3. 创建多级目录:mkdir -p 123/abc 4. 删除非空文件 rm -rf 文件夹名 5. 创建文件: touch 文件名.后缀  / vi 文件名.后缀  6. 删除文件:rm 文件名.后缀 7. 合并文件内容:cat file1 file2 file3 将file1和file2的内容复

    2024年02月20日
    浏览(139)
  • 【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案

    ​         经常逛github找优秀的.NET项目看,看到github上的项目的层级有src test,sln放在外层。如下图:  发现自己再Visaul Studio新建的项目即使添加了src和test,然后基于文件夹下新建项目,物理路径上也不是这样的结构。如图  物理路径下依然和sln是平级状态。 全程新建项目通

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包