本文主要是介绍【微信小程序】-uni-app开发-安卓/IOS分享xt文件给好友,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:在分享文件没好友的时候,IOS分享失败,安卓却是成功的,IOS出现以下错误:
开发工具提示 saveFile:fail tempFilePath file not exist 1301000错误
解释:在调用wx.FileSystemManager.saveFile()方法的时候,传入的参数不是临时文件路径,或者是目标路径无访问权限(usr目录)。
个人理解:方法用错了,下面介绍另一种简单的小程序分享文件给好友的方法。
1、将文件创建好并写入数据
/*** 下载文件*/
downloadFlie(measureUid) {const that = this;// 二进制数据let recordArrayBuffer = uni.getStorageSync(Uid);// 使用文件系统管理器将二进制数据写入文件const fs = wx.getFileSystemManager();// ${wx.env.USER_DATA_PATH}可获取用户目录下的本地路径// temp.txt这个随便填const filePath = `${wx.env.USER_DATA_PATH}/temp.txt`;try {// 文档 https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html// 根据自己情况写入数据,我这里是直接写入二进制数据fs.writeFileSync(filePath, recordArrayBuffer, 'hex')console.log('文件已创建:', filePath);// 这个是本地文件地址that.tempFilePath = filePath;} catch (err) {console.error('写入文件出错:', err);}
},
2、分享文件给好友
/*** 将下载好的record文件 分享给好友* 步骤:1、使用wx.getFileSystemManager().writeFileSync(),写入文件(自定义文件路径)* 2、调用wx.shareFileMessage分享文件给好友,条件是要上面的自定义文件路径*/
shareFile() {// 自定义文件名let fileName = "hello.txt";wx.shareFileMessage({// 上一步的本地文件地址filePath: this.tempFilePath,fileName: fileName,success() {console.log('转发文档成功')},fail: console.error,})
},
感谢点赞、收藏,谢谢
这篇关于【微信小程序】-uni-app开发-安卓/IOS分享xt文件给好友的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!