赞
踩
wx.downloadFile()
//下载wx.getFileSystemManager()
//获取小程序的文件管理器FileSystemManager.unzip()
//解压FileSystemManager.readdir()
//读取文件夹FileSystemManager.readFile()
//读取文件FileSystemManager.access()
//判断文件/目录是否存在FileSystemManager.mkdir()
//创建文件夹在onload
中获取FileSystemManger
的全局唯一文件管理器
- onLoad: function (options) {
- this.FileSystemManager = wx.getFileSystemManager();
- //执行下载
- this.downloadZipHandler();
- },
检查本地文件夹是否存在,不存在执行创建文件夹,然后下载。如果存在直接下载。
本地用户文件是从 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)
- }
- })
- }
- },
下载完成后,解压到本地文件夹
- 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)
- }
- })
- },
读取文件夹里的文件列表,可以得到文件夹下的文件名列表
- readDirHandler() {
- let { FileSystemManager } = this;
- FileSystemManager.readdir({
- dirPath: `${wx.env.USER_DATA_PATH}/jj`,
- success(res) {
- console.log(res);
- },
- fail(err) {
- console.log('fail', err)
- }
- })
- },
读取具体文件,可以拿到文件的内容
- 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)
- }
- })
- },
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。