当前位置: 首页 > news >正文

网站域名购买方法网站开发制作阶段的说课稿

网站域名购买方法,网站开发制作阶段的说课稿,dw怎么做网站轮播图,客厅装修设计文件预览和下载 在下载之前,我们得先调用接口获取文件下载的url 然后通过wx.downloadFile将下载文件资源到本地 wx.downloadFile({url: res.data.url,success: function (res) {console.log(数据,res);} })tempFilePath就是临时临时文件路径。 通过wx.openDocume…

文件预览和下载

在下载之前,我们得先调用接口获取文件下载的url
在这里插入图片描述
然后通过wx.downloadFile将下载文件资源到本地

wx.downloadFile({url: res.data.url,success: function (res) {console.log('数据',res);}
})

在这里插入图片描述
tempFilePath就是临时临时文件路径。
通过wx.openDocument打开文件。
showMenu表示预览文件右上方的菜单,你可以在该菜单中选择保存文件,将文件显示的保存到本地。

// 预览和下载
wx.downloadFile({url: res.data.url,success: function (res) {const filePath = res.tempFilePath  // 临时文件路径wx.openDocument({filePath: filePath,showMenu: true // 预览文件右上方的...})}
})

到这里文件的预览和存储就完成了,你可以显示的看到文件的存储位置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这是文件操作的其中一种方式,如果你要具体的操作文件,请继续向下看。


文件系统

文件系统是这篇着重要讲的,其实在上文中提到的wx.downloadFile这一步就是文件下载的关键,文件下载成功(临时)会触发success回调,你可以通过DownloadTask监听文件下载的进度,当downloadTask进度为100时,downloadFilesuccess下载成功就会被触发。

      const downloadTask = wx.downloadFile({url: res.data.url,success: function (res) {// progress进度100时触发success}})downloadTask.onProgressUpdate((res) => {console.log('下载进度', res.progress)console.log('已经下载的数据长度', res.totalBytesWritten)console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)})

在这里插入图片描述

wx.downloadFiletempFilePath对应的就是临时文件的存储位置,这个文件是会被删除的。因此如果你需要持久化文件,则需要调用saveFile来保存文件。同时tempFilePath也可以作为一个中转,为后续使用资源提供支持,所以我们在后续调用wx.openDocument时,tempFilePath其实是做了文件中转,在openDocument对文件做了后续的保存或预览操作。
在这里插入图片描述

微信小程序本身自带一个文件系统,官网介绍:文件系统

在文件系统中有关于本地临时文件的介绍:

本地临时文件只能通过调用特定接口产生,不能直接写入内容。本地临时文件产生后,仅在当前生命周期内保证有效,重启之后不一定可用。如果需要保证在下次启动时无需下载,可通过 FileSystemManager.saveFile() 或 FileSystemManager.copyFile() 接口把本地临时文件转换成本地缓存文件或本地用户文件。

在上文中我们将wx.downloadFile返回的临时路径当作中转,调用wx.openDocument来保存文件,这是一种方法,还有一种就是操作文件系统API,对临时文件进行移动、保存、复制等操作。

下面我们通过文件系统来实现文件的保存:

API文档:wx.getFileSystemManager()

流程如下:

1、获取文件下载url

2、wx.downloadFile下载文件

3、判断文件夹是否存在:

  • 存在:通过saveFile直接下载
  • 不存在:通过mkdir创建文件夹,创建完成后,通过saveFile直接下载
  async downloadPdf(id) {let that = this;let res = await getPdfAPI(id);// 下载文件wx.downloadFile({url: res.data.url,success: async (res) => {// 设置存储路径let myPath = wx.env.USER_DATA_PATH + '/MyFile'try {// 判断文件夹是否存在await that.fileExist(myPath)// 存在: 保存文件到本地await that.fileSave(res.tempFilePath, myPath).catch(err => console.log(err));wx.showToast({title: '保存成功',icon: 'none'})} catch (e) {// 不存在: 创建文件夹await that.fileMkdir(myPath).catch(err => console.log(err));// 保存文件到本地await that.fileSave(res.tempFilePath, myPath).catch(err => console.log(err));wx.showToast({title: '保存成功',icon: 'none'})}}})},// 保存文件fileSave(tempFilePath, myPath) {return new Promise(function (resolve, reject) {const fileManager = wx.getFileSystemManager(); // 文件系统fileManager.saveFile({tempFilePath: tempFilePath, // 临时文件路径filePath: myPath + '/myFileName.pdf',  // 文件夹路径 + 文件名success: function (res) {resolve(res)},fail: function (err) {reject(err)}})})},// 创建文件夹fileMkdir(myPath) {return new Promise(function (resolve, reject) {const fileManager = wx.getFileSystemManager(); // 文件系统fileManager.mkdir({dirPath: myPath, // 文件夹路径success: function (mkdir) {resolve(mkdir)},fail: function (mkdirerr) {reject(mkdirerr)}})})},// 判断文件夹是否存在fileExist(myPath) {return new Promise(function (resolve, reject) {const fileManager = wx.getFileSystemManager(); // 文件系统fileManager.access({path: myPath,  // 文件夹路径success: function (exist) {resolve(exist)},fail: function (err) {reject(err)}})})},

注意点:

1、saveFile自定义保存路径filePath文件夹路径+文件名的拼接

2、saveFile接收的文件路径为wx.downloadFile获取的临时路径tempFilePath

3、wx.env.USER_DATA_PATH是一个字符串,表示文件系统中的用户目录路径 (本地路径)

关于存储位置:

PC端中:

wx.env.USER_DATA_PATH默认指向usr文件夹,微信开发者工具中可以看到保存路径:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

真机中:
真机的默认存储位置为:内部存储/Android/data/com.tencent.mm/MicroMsg/wxanewfiles/
也就是wxanewfiles文件夹下的子文件夹,该文件夹不固定
在这里插入图片描述


参考文档:
wx.downloadFile
wx.openDocument
DownloadTask
wx.env
文件系统
wx.getFileSystemManager()
FileSystemManager.mkdir(Object object)
FileSystemManager.saveFile(Object object)
FileSystemManager.access(Object object)


如果你觉得本文章不错,欢迎点赞👍、收藏💖、转发✨哦~
阅读其它:
微信小程序记住密码,让登录解放双手 (👈点击直达)
微信小程序动态生成表单来啦!你再也不需要手写表单了! (👈点击直达)
根据URL批量下载文件并压缩成zip文件 (👈点击直达)
文档、视频、图片上传(点击、拖拽、批量导入)要‍‍‍‍怎么实现?! (👈点击直达)
一文搞懂原型和原型链 (👈点击直达)

http://www.yayakq.cn/news/765382/

相关文章:

  • 做钓鱼网站教程视频教程浏览器推广怎么做
  • 天津网站建设教程漳州网站建设哪家最正规
  • 目前比较流行的公司网站建站技术wordpress珠宝主题
  • 做网站的那些个人工作室赣州章贡区景点
  • 企业网站维护建设ppt平台网站建设价格
  • 网站底部备案信息vs215开发python网站开发
  • 国外网站策划网站手机端的优势
  • 校园网站建设的重要性wordpress 分享插件
  • 做网站宁波有什么的网络公司asp网站做安全
  • 厦门石材网站建设建筑人才网首页
  • 东莞整站优化排名湖南城市建设网站
  • 百度网盘做网站canvas做的手机网站
  • 网站收录多少才有排名文创产品设计说明
  • 做网站运营用什么软件黄村网站建设费用
  • 太仓住房与城乡建设部网站怎样策划一个营销型网站
  • 优秀网站建设平台阳江58同城招聘网
  • 那种漂亮的网站怎么做站长统计app软件下载官网
  • 常州网站制作多少钱关岭做网站
  • 学校网站英文如何将微信和企业网站同步
  • 建行网站企业网银温岭网站制作
  • 浙江省建设工程质量协会网站wordpress离线发布功能
  • 镇江网站设计制作企业网站报备
  • 水果 网站源码东莞网站建设的方案
  • 河南英文网站建设公司四川采集app
  • wordpress footer怎么设置如何优化企业网站
  • 网站建设的请示报告qq空间关闭申请网站
  • 如何建设网站的能力有经验的做网站
  • 网站建设商城网站flex布局做自适应网站
  • 一个空间做2个网站平面设计网站建设
  • 求职简历在哪个网站做江安县规划和建设局网站