uniapp+vue2+h5图片下载保存,微信浏览器、非微信浏览器

小程序端

javascript 复制代码
onDown() {
	// 检查相册权限
	uni.authorize({
		scope: 'scope.writePhotosAlbum',
		success: () => {
			this.downloadImage();
		},
		fail: () => {
			uni.showToast({
				title: "请授权相册权限",
				icon: "none"
			});
		}
	});
},
downloadImage() {
	common.request('post', '/agent/Managestart/downQrcode', {
		device_id: this.device_id
	}).then(res => {
		if (res.code === 1) {
			uni.downloadFile({
				url: res.data,
				success: (downloadRes) => {
					if (downloadRes.statusCode === 200) {
						uni.saveImageToPhotosAlbum({
							filePath: downloadRes.tempFilePath,
							success: () => {
								uni.showToast({
									title: "保存成功"
								});
							},
							fail: () => {
								uni.showToast({
									title: "保存失败",
									icon: "none"
								});
							}
						});
					}
				}
			});
		}
	});
}

微信打开

javascript 复制代码
onDown() {
	common.request('post', '/agent/Managestart/downQrcode', {
		device_id: this.device_id
	}).then(res => {
		if (res.code == 1) {
			const imageData = common.image(res.data);

			// 检测是否是微信浏览器
			const isWeixin = /MicroMessenger/i.test(navigator.userAgent);
			if (isWeixin) {
				// 微信浏览器:强制跳转到图片 URL
				window.location.href = imageData;
			} else {
				// 非微信浏览器:通用下载方式
				const link = document.createElement("a");
				link.href = imageData;
				link.download = "qrcode.png";
				document.body.appendChild(link);
				link.click();
				document.body.removeChild(link);
			}
		} else {
			uni.showToast({
				title: "获取图片失败",
				icon: "none"
			});
		}
	}).catch(() => {
		uni.showToast({
			title: "网络异常",
			icon: "none"
		});
	});
},
相关推荐
moxiaoran57537 小时前
uni-app学习笔记三十六--分段式选项卡组件的使用
笔记·学习·uni-app
moxiaoran57539 小时前
uni-app项目实战笔记1--创建项目和实现首页轮播图功能
笔记·uni-app
!win !11 小时前
uni-app项目怎么实现多服务环境切换
前端·uni-app
xw511 小时前
uni-app项目怎么实现多服务环境切换
前端·uni-app
对酒当歌丶人生几何11 小时前
Uniapp实现多选下拉框
前端·javascript·uni-app
浩星13 小时前
uniapp请求接口封装
uni-app
满分观察网友z13 小时前
uni-app 滚动视图scroll-view从入门到精通
uni-app
^Rocky15 小时前
uniapp 实现腾讯云IM添加好友功能
javascript·uni-app·腾讯云
程序员小刘15 小时前
基于uni-app for HarmonyOS5 的跨平台组件库开发指南,以及组件示例
华为·uni-app·harmonyos
Jinxiansen021116 小时前
uni-app 自定义路由封装模块详解(附源码逐行解读)
java·前端·uni-app