![](https://img2020.cnblogs.com/blog/754388/202106/754388-20210621152838075-1032662056.png)
<!--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是要删除的文件路径。