zoukankan      html  css  js  c++  java
  • 玩转小程序之文件读写

    小程序开发中,会有一些场景需要用到文件的读写。在之前的一个项目中,需要分析设备的在持有者手中的运动状态,并通过分析设备上的重力加速计和方向传感器的数据获取设备位置和方位信息,因为数据太多,靠实时上传肯定不现实,于是就决定通过实时写入文件,运行一段时间之后,再去读取文件内容,再去上传。

    官方API (真心简略,谁看得懂啊,手动狗头保命:))

    还是自己来撸吧

    一,写新文件

    建立全局变量fsm。参数data就是我们要写入文件的内容。filePath很关键,如果没写对的话,你根本就找不到它到哪儿去了,也没有权限写。wx.env.USER_DATA_PATH是微信允许用户写入文件的文件夹。 可以用来换行。

    let fsm = wx.getFileSystemManager();

    fsm.writeFile({

      filePath: wx.env.USER_DATA_PATH + '/tmp.txt',

      data: "深蹲数据" + util.formatDate(new Date(), "yyyyMMdd_HHmmss") + " ",

      encoding: 'utf8',

      success: res => {

        console.info(res)

      },

      fail: res => {

        console.info(res)

      }

    })

    二,追加内容到文件

    如果前面已经获取过文件系统管理器fsm,这里就只需要用就够了。同样,data就是要追加到文件的内容。

    let fsm = wx.getFileSystemManager();

    fsm.appendFile({

      filePath: wx.env.USER_DATA_PATH + '/tmp.txt',

      data: '[' + aX + ',' + aY + ',' + aZ + "], ",

      encoding: 'utf8',

      success: res => {

        console.info(res)

      },

      fail: res => {

        console.info(res)

      }

    });

    三,读取保存的文件

    先保存之后才能读取文件,保存之后可以获得临时文件的地址,然后用这个地址作为读取时的参数。读取之后就可以做上传等逻辑了,这里我就省略了。

    let fsm = wx.getFileSystemManager();

    wx.saveFile({

    tempFilePath: wx.env.USER_DATA_PATH + '/tmp.txt',

    success(res) {

      fsm.readFile({

        filePath:res.savedFilePath,

        encoding: 'utf8',

        success:function(res){

          console.log(res.data)

        }

      })

    }

    })

    是不是很简单? 其实整个文件的读写和追加,只要知道保存的地址在哪儿就很好写了,但是官方API中却没有,神不神奇?意不意外?

    码字不易,如果觉得有帮助,一定要给我点赞哟~~

    不然信不信我砸了你家灯,半夜偷亲你 ( ̄ε  ̄) !!!

  • 相关阅读:
    不支持ie9一下代码
    jquery ajax done 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
    WaitMe是一款使用CSS3来创建加载动画的jQuery插件
    Masked Input这个jQuery插件让用户能够按照预先设定好的固定格式输入数据(如日期、电话号码等)
    Autosize插件允许textarea元素根据录入的内容自动调整元素的高度
    两个列表选项插件bootstrap-duallistbox.js
    jquery滚动插件slimscroll
    modernizr.custom.js应用
    bootbox基于bootstrap的扩展弹窗
    洛谷P3503 [POI2010]KLO-Blocks 单调栈
  • 原文地址:https://www.cnblogs.com/tonyccc/p/11470090.html
Copyright © 2011-2022 走看看