微信小程序之文件系统初探

1、文件下载

   //下载文件
go_download: function() {
var content = this;
var baseUrl = "http://rwh.blob.core.chinacloudapi.cn";
var fileName = "1-e2b214af930149ee80c8142d067148a7.exam";
var url = baseUrl + "/data/ExamBuilder2.0/20190320" + "/" + fileName; console.log("dowload url:" + url); //用户缓存目录
var userLocalPath = wx.env.USER_DATA_PATH;
var localPath = "wxfile://";
var path = userLocalPath + "/" + fileName
var localPath = localPath + "/" + fileName
var authorization = "Basic ZThlYWJmNWMwN2I0NGI0YmEzOGJmZWMyMTJkM2U1ZDU=";
var apptoken = "Authorization" const downloadTask = wx.downloadFile({ // 待下载的云资源
url: url, //下载成功后的回调函数
success(res) {
console.log("dowload res.errMsg:" + res.errMsg);
console.log("dowload res.statusCode:" + res.statusCode);
console.log("dowload res.tempFilePath:" + res.tempFilePath); if (res.statusCode === 200) {
wx.showToast({
title: '下载成功!'
})
}
}, //失败回调函数
fai: function(res) {
console.log("downloadFile fai:" + res.errMsg)
}, //完成回调函数
complete: function() {
console.log("downloadFile complete")
content.getReaddir(targPath)
}
}) downloadTask.onProgressUpdate((res) => {
console.log('下载进度', res.progress)
console.log('已经下载的数据长度', res.totalBytesWritten)
console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)
}) // downloadTask.abort() // 取消下载任务 }

2、持久化文件到本地

 //下载成功的文件目前存在temp文件夹下,它属于临时文件
//如果想要将其持久化,需要使用wx.saveFile()将其保存至store文件夹下,
//在使用这个函数时,temp文件夹下的临时文件会被删除。
wx.saveFile({
tempFilePath: res.tempFilePath,
success: function(res) {
console.log(res);
var savedFilePath = res.savedFilePath;
console.log('文件已下载到' + savedFilePath);
}
})

3、解压压缩文件

  //解压文件
unzipFile: function(path, targPath) {
var content = this;
console.log("unzip path:" + path)
console.log("unzip targPath:" + targPath)
wx.getFileSystemManager().unzip({
//文件路径
zipFilePath: path, //目标文件夹
targetPath: targPath, //成功回调函数
success: function(res) {
console.log(res.errMsg)
}, //失败回调函数
fai: function(res) {
console.log("unzip fai:" + res.errMsg)
}, //完成回调函数
complete: function() {
console.log("unzip complete")
content.getReaddir(targPath)
}
});
}

3、读取文件到内存

//读取文件
readFile: function(path) {
console.log("readFile start path:" + path)
var userLocalPath = wx.env.USER_DATA_PATH;
wx.getFileSystemManager().readFile({
//文件路径
filePath: path, //成功回调函数
success: function(res) {
console.log("unzip success res:" + res.errMsg)
console.log(res)
}, //失败回调函数
fai: function(res) {
console.log("unzip fai:" + res.errMsg)
}, //完成回调函数
complete: function() {
console.log("unzip complete")
}
});
}

4、查看目标文件夹的文件列表

 // 查看下载的文件列表
getReaddir: function(path) {
console.log("getReaddir start")
wx.getFileSystemManager().readdir({
dirPath: path, //成功回调函数
success: function(res) {
console.log("getReaddir success res:" + res.errMsg)
console.log(res)
}, //失败回调函数
fai: function(res) {
console.log("getReaddir fai:" + res.errMsg)
}, //完成回调函数
complete: function() {
console.log("getReaddir complete")
}
})
}

5、查看已经缓存的文件列表

 // 查看下载的文件列表
getUserSavedFileList: function() {
console.log("getUserSavedFileList start")
wx.getFileSystemManager().getSavedFileList({
//成功回调函数
success: function(res) {
console.log("getUserSavedFileList success res:" + res)
console.log(res)
}, //失败回调函数
fai: function(res) {
console.log("getUserSavedFileList fai:" + res.errMsg)
}, //完成回调函数
complete: function() {
console.log("getUserSavedFileList complete")
}
})
}

微信小程序之文件系统初探的更多相关文章

  1. 微信小程序开发之初探

    本文是以一个简单的小例子,来简要讲解微信小程序开发步骤,希望促进学习分享. 概念 微信小程序,简称小程序,缩写xcx,英文mini program.是一种不需要下载安装即可使用的应用,它实现了应用“触 ...

  2. 微信小程序初探--写个扫雷分享给你玩

    闲暇里,想学一下微信小程序, 于是,用微信小程序原生做了个扫雷玩. 以下略作总结,分享给大家. 微信里下拉,输入[mini计算器], 看到这个图标的就是了: 说好的扫雷,怎么变成计算器了?原因后面解释 ...

  3. 微信小程序初探

    做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...

  4. 微信小程序开发初探

    一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所 ...

  5. 初探微信小程序

    摘要 最近闲下来了,就准备了解下微信小程序的内容.首先从目录结构开始吧. 创建项目 工具下载:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/do ...

  6. weapp微信小程序初探demo

    https://github.com/donglegend/weapp-demo 参考文档开发工具安装微信weapp API git项目源码微信小程序 demo效果展示效果预览

  7. 微信小程序初探【类微信UI聊天简单实现】

    微信小程序最近很火,火到什么程度,只要你一打开微信,就是它的身影,几乎你用的各个APP都可以在微信中找到它的复制版,另外官方自带的跳一跳更是将它推到了空前至高的位置.对比公众号,就我的感觉来说,有以下 ...

  8. 微信小程序之初探(常见语法 VS vue)常见问题(点击不生效,数据绑定)

    最近在调研微信小程序开发,对于一个前端小白来说,在各种框架都还用不熟的情况下,再来开发小程序确实还是不容易. 小程序出来之初,听过演讲,看过一点点儿视频,感觉和angular语法有点相似(PS:那是也 ...

  9. 微信小程序初探(二、分页数据请求)

    大家好 波哥小猿又来啦[斜眼笑],昨天咱们讲了微信小程序简单数据请求,有没有照着教程实现请求的同学们啦 实现的同学举个爪[笑脸].哈哈,好了不扯犊子啦,我相信有的同学已经实现了简单的数据请求,没有实现 ...

随机推荐

  1. Android 插件化开发(一):Java 反射技术介绍

    写在前面:学习插件化开发推荐书籍<Android 插件化开发指南>,本系列博客所整理知识部分内容出自此书. 在之前的项目架构的博文中,我们提到了项目插件化架构,提到插件化架构不得不提的到J ...

  2. Python3-logging日志模块

    日志模块 logging模块默认收集的日志是warning以上等级的 日志一共分为5个等级,从低到高分别是: 级别 说明 DEBUG 输出详细的运行情况,主要用于调试 INFO 确定一切按预期运行,一 ...

  3. 我这样回答了Spring 5的新特性,面试官对我刮目相看

    最近,有一个小伙伴拿到了自己满意的Offer,和他交谈的过程中得知他面试官问他关于Spring的问题比较多,其中最让面试官满意的就是自己回答关于Spring 5的知识点回答的不错. Spring5于2 ...

  4. WebRTC Android版本编译

    本文简单介绍如何在Ubuntu18.04 上,编译WebRTC Android版本. 安装工具 需要用到depot_tools工具来下载webrtc源码. 安装 depot_tools git 命令获 ...

  5. Docker异常:/lib/x86_64-linux-gnu/libnss_files.so.2: symbol __libc_readline_unlocked, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

    当使用docker cp 将容器内数据拷贝至主机时,或是使用docker export 命令归档容器文件时,出现下述异常: Error response from daemon: error proc ...

  6. 字节跳动——IT技术工程师面试题

    .自我介绍 .项目介绍 .争对个人项目进行提问 .场景模拟 .1如何知道用户的指定视频(类似于QQ发视频)的服务是正常的 .使用appum进行自动化测试 .使用bat脚本获取进程状态,然后定时发送em ...

  7. day 26-1 property、绑定与非绑定方法

    property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值:就是把一个函数属性的访问方式变成像访问数据属性的方式一样. 我们首先来看一个对比效果 例一:在调用 bmi ...

  8. 设计模式之观察者模式C#实现

    说明:主要参考<Head First设计模式(中文版)>,使用C#代码实现. 代码:Github 1.观察者模式UML图 2.气象监测类图 3.气象监测代码(书中C#版) 3.1 Obse ...

  9. JS---DOM---自定义属性引入和移除

    总结:在html标签中添加的自定义属性, 如果想要获取这个属性的值, 需要使用getAttribute("自定义属性的名字")才能获取这个属性的值 html标签中有没有什么自带的属 ...

  10. stdc++.6.0.9动态库缺失

    问题 ld: library not found for -lstdc++.6.0.9 clang: error: linker command failed with exit code 1 (us ...