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"
		});
	});
},
相关推荐
咖啡の猫10 小时前
微信小程序案例 - 自定义 tabBar
微信小程序·小程序·notepad++
木子啊12 小时前
ProCamera 智能水印相机解决方案 (UniApp)
数码相机·uni-app·水印相机·小程序水印
木子啊12 小时前
Uni-app跨页面通信三剑客
前端·uni-app·传参
Rysxt_1 天前
UniApp五大UI框架与uni-ui核心区别对比
uni-app·uni-ui
2501_915918411 天前
HTTPS 代理失效,启用双向认证(mTLS)的 iOS 应用网络怎么抓包调试
android·网络·ios·小程序·https·uni-app·iphone
2501_915106321 天前
混合应用(Hybrid)安全加固,不依赖源码对成品 IPA 混淆
android·安全·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
无需越狱,来对 iOS 设备进行调试、管理与分析
android·ios·小程序·https·uni-app·iphone·webview
芒果大胖砸1 天前
uniapp当中如何实现长按复制功能并且能够自由选择内容
开发语言·javascript·uni-app
00后程序员张1 天前
在 iOS 上架中如何批量方便快捷管理 Bundle ID
android·ios·小程序·https·uni-app·iphone·webview
换日线°1 天前
uni-app对接腾讯即时通讯 IM
前端·uni-app