小程序读取本地txt文件的方法
0、注意:此方法在2020年后的微信小程序开发中已经被废除,请不要往下看了!!如果有读取json/txt文件的需求,请使用微信提供的云函数和数据库,放入工程是不明智的选择,打包控制了大小,所以非必要不要放在工程包内,请参考下面的博文:小程序个人免费云函数和数据库读取json/txt文件方法。
小程序对用户文件的读取作了比较严格的限制,本文主要介绍如何用小程序读取**由用户写好的txt文件**。
1、本地文件
现在已经拥有一个写好的txt文件(CH1949BST.txt),存储在小程序的文件夹内:
2、复制该文件到开发者可读写的文件夹
小程序官方API介绍了一个FileSystemManager.copyFile()方法,但过于简单,可参考官方API。
小程序官方网站已经给出一些参数,注意destPath只能是 wx.env.USER_DATA_PATH 下的文件目录,这个目录名称是微信官方特定的,出现于1.7版本以后,此目录下的文件允许用户通过某些方法读取。
这里给出使用代码:
wx.getFileSystemManager().copyFile({ //先把文件复制到可操作的文件夹
srcPath : 'src/cma/CH1949BST.txt', //源文件
destPath: wx.env.USER_DATA_PATH + '/CH1949BST.txt', //可操作的文件夹路径
success: res => {
console.log(res) //复制成功返回res信息
},
fail: console.error //复制失败返回error
})
3、读取可操作文件夹下的文件
如无意外,现在文件已经复制到 wx.env.USER_DATA_PATH 下,此时调用FileSystemManager.readFile()方法即可读取txt文件。
wx.getFileSystemManager().readFile({ //读取文件
filePath: wx.env.USER_DATA_PATH + '/CH1949BST.txt',
encoding: 'utf-8',
success: res => {
console.log(res.data)
},
fail: console.error
})
4、结果
根据上面的JS代码来运行结果,可以在控制台上看到读取到的txt文件数据。
读取到txt文件内的数据后即可对这些数据进行后续处理,他们被临时存储于res.data中。