<!--pages/index.wxml-->
<view class='box'>
  <view class='title'>文件操作</view>
  <image src='{{imgPath}}'></image>
  <view class='btnLayout'>
    <button type='primary' bindtap='openFile'>打开文件</button>
    <button type='primary' bindtap='saveFile'>保存文件</button>
  </view>
  <view class='btnLayout'>
    <button type='primary' bindtap='getSavedFileInfo'>文件信息</button>
    <button type='primary' bindtap='removedSavedFile'>删除文件</button>
  </view>
  <view class='fileInfo' hidden='{{hidden}}'><!--用来显示文件信息-->
    <text>{{msg}}</text>
  </view>
</view>
/* pages/index.wxss */

page {
  text-align: center;/* 整个页面默认的组件的对齐方式是居中对齐 */
}

.btnLayout {
  /*设置按钮布局*/
  display: flex; /*设置布局类型*/
  flex-direction: row; /*设置布局方向*/
  justify-content: space-around; /*设置主轴方向控件的排列方式*/
}

button {
  width: 45%;
  margin: 5px;
}

.fileInfo {
  /*设置显示文件信息区域的样式*/
  margin: 10rpx 0; /*设置上下边距为10rpx,左右边距为0px*/
  background-color: #f8f8f8;
  text-align: left;
  border: 1px solid seagreen; /*设置边框线的宽度、线条类型和颜色*/
}
space-around:沿主轴方向控件的排列方式,水平方向排列的时候各个组件之类间隔相同,两边留有一定的空间
// pages/index.js
var tempFilePaths, tempFilePath; //定义存放所有临时文件和单个临时文件路径的全局变量
Page({
  data: {
    msg: '', //初始化的变量,小程序运行时没有文件信息
    hidden: true //初始化的变量,小程序运行时隐藏文件信息显示区域
  },
  openFile: function() { //定义打开文件函数
    var that = this;//本函数涉及到回调函数,在回调函数中一般不能使用this直接调用相应的函数
    wx.chooseImage({ //打开图片文件
      success(res) {
        tempFilePaths = res.tempFilePaths //接口调用成功后,获取所有打开图片文件的路径
        console.log('打开文件路径:' + tempFilePaths)
        that.setData({
          imgPath: tempFilePaths[0], //显示打开的第一张图片
          hidden: false, //显示文件信息区域
          msg: '文件打开成功!' //显示文件操作信息
        })
      }
    })
  },

  saveFile: function() { //保存文件
    var that = this;
    wx.saveFile({ //调用保存文件的API函数,对象类型的参数
      tempFilePath: tempFilePaths[0], //获取打开的第1个文件路径
      success(res) { //将打开的第1个文件保存到res.savedFilePath
        console.log('保存文件路径:' + res.savedFilePath); //显示保存文件的路径
        that.setData({
          hidden: false, //显示文件操作信息
          msg: '文件保存成功!', //文件操作信息
        })
      }
    })
  },
  getSavedFileInfo: function() { //获取已经保存的文件信息
    var i, file; //局部变量,某一个文件,具体的文件
    var that = this;
    wx.getSavedFileList({ //获取所有已保存的文件
      success: function(res) { //将获取的所有文件赋值给res.fileList
        if (res.fileList.length == 0) { //如果没有保存的文件
          that.setData({
            hidden: false, //显示文件信息
            msg: '没有文件信息' //文件信息
          })
        } else {
          for (i = 0; i < res.fileList.length; i++) {
            file = res.fileList[i];
            console.log('第' + (i + 1) + '个文件路径:' + file.filePath)
            wx.getSavedFileInfo({ //获取已保存的文件信息
              filePath: file.filePath,
              success: function(res) { //将文件信息赋值给res
                console.log('第' + i + '个文件大小为:' + res.size)
                that.setData({
                  hidden: false, //显示文件信息
                  msg: '文件数量:' + i + '\n最后一个文件的大小:' + res.size +
                    '\n最后一个文件的创建时间:' + res.createTime
                })
              }
            })
          }
        }
      }
    })
  },
  removedSavedFile: function() { //删除文件
    var i, file;
    var that = this;
    wx.getSavedFileList({ //获取已保存文件的列表
      success: function(res) { //将所有文件赋值给res.fileList
        for (i = 0; i < res.fileList.length; i++) { //遍历文件列表
          file = res.fileList[i];
          wx.removeSavedFile({ //删除已经保存的文件
            filePath: file.filePath,
          })
          console.log('第' + (i + 1) + '个文件被删除!')
        }
        that.setData({
          hidden: false,
          msg: '文件被全部删除'
        })
      }
    })
  }
})

实现对文件的操作,包括打开、保存和删除文件,以及显示文件信息等内容

API函数wx.saveFile(Object object)

API函数wx.getSavedFileList(Object object)

API函数wx.getSavedFileInfo(Object object)

API函数wx.removeSavedFile(Object object)

wx.saveFile(Object object) 用于将文件保存到本地,其参数主要属性如下:

属性  说明
tempFilePath 文件保存的临时路径 
success 接口调用成功的回调函数
fail 接口调用失败的回调函数
complete 接口调用结束的回调函数 

 

      

 

 

 

 

wx.getSavedFileList(Object object)用于获取该小程序已保存的本地缓存文件 列表,其参数属性包括:success、fail和complete, 其中success函数的参数属性fileList是文件数组类型。

wx.getSavedFileInfo(Object object)用于获取本地文件信息。其参数属性包括: filePath和success等,filePath是文件路径,success 函数的参数属性包括:size和createTime。

若要获取临时文件信息 , 请使用 wx.getFileInfo() 接口。

wx.removeSavedFile(Object object)用于删除本地缓存文件,其参数属性包括: filePath 、 success 、 fail 和 complete , 其 中 filePath是要删除的文件路径。