阅读 24

微信小程序保存文件到本地并查询

wx.downloadFile
下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),

  wx.downloadFile({
  url: ‘https://example.com/audio/123‘, //仅为示例,并非真实的资源
  success (res) {
    // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
    if (res.statusCode === 200) {
      wx.playVoice({
        filePath: res.tempFilePath
      })
    }
  }
})

使用wx.downloadFile会返回一个临时路径 根据微信小程序提供的api wx.saveFile(Object object) 方法保存到本地

wx.chooseImage({
  success: function(res) {
    const tempFilePaths = res.tempFilePaths
    wx.saveFile({
      tempFilePath: tempFilePaths[0],
      success (res) {
        const savedFilePath = res.savedFilePath
      }
    })
  }
})

发现在本地文件加中找不到所下载的文件于是输出文件临时地址路径,显示路径是“wxfile://store_543536f534.pdf”。科室在手机内存管理中查询不到 网上搜索发现文件存储在 (手机\内部存储\tencent\MicroMsg\wxanewfiles\一个很长名字的文件夹\)这个文件夹下面,科室去查找还是没有找到我下载文档
在网上寻找 找到一篇解决文章结合自身代码调试成功

var filePath = res.tempFilePath;
//#ifdef MP-WEIXIN
const FileSystemManager = wx.getFileSystemManager()
FileSystemManager.saveFile({//下载成功后保存到本地
  tempFilePath: res.tempFilePath,
  filePath: wx.env.USER_DATA_PATH + "/" + name+‘.pdf‘,
  success(res2) {
	console.log(res2)
	console.log(wx.env.USER_DATA_PATH)
	if (res2.errMsg == ‘saveFile:ok‘) {
		uni.showToast({
			title: ‘文件保存成功‘,
			icon: ‘none‘
		})
	  // uni.showModal({
	  // 	title: ‘文件保存成功,路径为:‘,
	  // 	content: res.savedFilePath
	  // })
	}else{
	  uni.showToast({
	  	title: ‘文件下载报错了‘,
	  	icon: ‘none‘
	  })
	}
  },
  fail() {
	uni.showToast({
		title: ‘文件下载报错了‘,
		icon: ‘none‘
	})
  }
})

参考文章来源

原文:https://www.cnblogs.com/wuyexuetu/p/12888807.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐