【微信小程序】-uni-app开发-安卓/IOS分享txt文件给好友

问题:在分享文件没好友的时候,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,
	})
},

感谢点赞、收藏,谢谢

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值