微信小程序嵌入H5页面,在H5页面中分享base64的pdf文件给微信好友

发布时间:2024年01月18日

一、需求

需求如标题所示,就是在h5页面中分享base64的文件给微信好友

二、实现思路

h5页面跳回微信小程序,在微信程序中转发,然后再回到h5页面

三、实现步骤

1、h5页面中,添加分享图标

<view class="share">
	<button class="btn_share" @click="sendWX">分享到微信</button>
</view>

2、h5页面中,跳回到微信小程序

//发送到微信
sendWX() {
	wx.miniProgram.navigateTo({
		url: '/pages/shareWX/shareWX?xm=' + this.xm + '&pdf=' + encodeURIComponent(this.file) + '&fileName=' + 'XXXXX'
	});
}

其中路径是/pages/shareWX/shareWX,需要携带的参数是姓名、base64字符串(不包含前缀:data:application/pdf;base64,)以及文件名称

3、微信小程序页面完整代码

<template>
	<view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			xm: '',
			file: '',
			fileName: '',
			filePath: ''
		};
	},
	methods: {
		write() {
			const fs = wx.getFileSystemManager();
			fs.writeFile({
				filePath: this.filePath,
				data: this.file,
				encoding: 'base64',
				success(res) {
					// console.log(111, res);
				},
				fail(res) {
					console.error(res);
				}
			});
		},
		share() {
			const fs = wx.getFileSystemManager();
			wx.shareFileMessage({
				filePath: this.filePath,
				success(res2) {
					fs.unlink({
						filePath: this.filePath,
						success: function () {
							uni.navigateBack({
								delta: 1
							});
						},
						fail: function (error) {
							console.log('文件删除失败', error);
							uni.navigateBack({
								delta: 1
							});
						}
					});
				},
				fail: console.error
			});
		}
	},
	onLoad(options) {
		this.xm = options.xm;
		this.file = decodeURIComponent(options.pdf);
		this.fileName = options.fileName;
		this.filePath = wx.env.USER_DATA_PATH + '/' + this.xm + '的' + this.fileName + '.pdf';
		this.write();
		uni.showModal({
			title: '提示',
			content: '确定要分享吗?',
			success: (res) => {
				if (res.confirm) {
					this.share();
				} else {
					uni.navigateBack({
						delta: 1
					});
				}
			}
		});
	}
};
</script>

<style lang="less"></style>

实现步骤:

????????①接受参数

????????② 通过wx.getFileSystemManager()写入内存

????????③分享pdf

????????④删除保存的文件

四、总结

上述方式是我实现的方式,欢迎交流

文章来源:https://blog.csdn.net/weixin_44431073/article/details/135667236
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。