uniapp(移动端H5、APP、小程序兼容)实现点击下载文档

2024-06-04 5719阅读

目录

一、移动端H5实现下载预览文档

二、小程序、APP下载预览文档

一、移动端H5实现下载预览文档

用uniapp开发微信公众号网页H5实现下载文档功能时,在微信开发者工具上点击下载调试会显示告警。

uniapp(移动端H5、APP、小程序兼容)实现点击下载文档 第1张

1.为了防止在手机上也打开不了链接情况,在点击下载的同时可以去复制文档链接,在手机浏览器打开

//复制链接
uni.setClipboardData({
	data: url,
	success: function() {
		console.log('success'); //调用方法成功
    }
})

 2.利用a标签实现打开文档链接,这个方法在移动端H5可以直接打开,亲测有效!!!

var oA = document.createElement("a");
oA.download = ''; // 设置下载的文件名,默认是'下载'
oA.target = "_blank"
oA.href = url; //临时路径再保存到本地
document.body.appendChild(oA);
oA.click();
oA.remove(); // 下载之后把创建的元素删除
			

uniapp(移动端H5、APP、小程序兼容)实现点击下载文档 第2张uniapp(移动端H5、APP、小程序兼容)实现点击下载文档 第3张

完整代码

// 点击下载文件
            //file带有文件路径的数据
			handleFile(file) {
				console.log(file);
				let {
					documentFile
				} = file
				if (documentFile) {
					let url = API.file + documentFile
					uni.setClipboardData({
						data: url,
						success: function() {
							console.log('success'); //调用方法成功
						}
					})
					console.log(url);
					var oA = document.createElement("a");
					oA.download = ''; // 设置下载的文件名,默认是'下载'
					oA.target = "_blank"
					oA.href = url; //临时路径再保存到本地
					document.body.appendChild(oA);
					oA.click();
					oA.remove(); // 下载之后把创建的元素删除
				}
			},

二、小程序、APP下载预览文档

直接使用uniapp的api

//签订合同下载
Download() {
    //下载文档
	uni.downloadFile({
		url: 'url',//下载地址接口返回
		success: (data) => {
			if (data.statusCode === 200) {
				//文件保存到本地
				uni.saveFile({
					tempFilePath: data.tempFilePath, //临时路径
					success: function(res) {
						uni.showToast({
							icon: 'none',
							mask: true,
							title: '文件已保存:' + res.savedFilePath, //保存路径
							duration: 3000,
						});
						setTimeout(() => {
							//打开文档查看
							uni.openDocument({
								filePath: res.savedFilePath,
								success: function(res) {
									// console.log('打开文档成功');
								}
							});
						}, 3000)
					}
				});
			}
		},
		fail: (err) => {
			console.log(err);
			uni.showToast({
				icon: 'none',
				mask: true,
				title: '失败请重新下载',
			});
		},
	});
},

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]