uniapp截图保存图片、点击按钮保存图片,可兼容app

保存指定的图片

// 注:url地址需要网络地址
saveImg(url) {
			const that = this;
			uni.downloadFile({
				url,
				success: res => {
					console.log(res)
					if (res.statusCode === 200) {
						uni.saveImageToPhotosAlbum({
							filePath: res.tempFilePath,
							success: function() {
								uni.showToast({
									title: '保存二维码成功',
									duration: 1500
								});
							},
							fail: function() {
								uni.showToast({
									title: '保存失败',
									duration: 1500
								});
							}
						});
					} else {
						uni.showToast({
							title: '保存失败',
							duration: 1500
						});
					}
				}
			});
		},

截图保存

downloadFile() {
			let $this = this;
			uni.showLoading({ //加载框
			  title: '保存中...',
			  mask: true
			})
			var pages = getCurrentPages(); //获取当前页面信息
			var page = pages[pages.length - 1];
			var bitmap = null;
			// $this.$nextTick(()=> {
			  var currentWebview = page.$getAppWebview();
			  bitmap = new plus.nativeObj.Bitmap('amway_img');
			  // 将webview内容绘制到Bitmap对象中
			  currentWebview.draw(bitmap, function() {
				// console.log('截屏绘制图片成功');
				//这里我将文件名用四位随机数拼接了,不然会出现当前图片替换上一张图片只能保存一张图片的问题
				let rand = Math.floor(Math.random() * 10000)
				let saveUrl = '_doc/' + rand + 'a.jpg'
				bitmap.save(saveUrl, {}, function(i) {
				  console.log('保存图片成功:' + JSON.stringify(i));
				  uni.saveImageToPhotosAlbum({
					filePath: i.target,
					success: function() {
					  // bitmap.clear(); //销毁Bitmap图片
					  uni.showToast({
						title: '保存二维码成功',
						duration: 1500
					  });
					},complete() {
					  uni.hideLoading();
					}
				  });
				}, function(e) {
				  console.log('保存图片失败:' + JSON.stringify(e));
				});
			  }, function(e) {
				console.log('保存图片失败:' + JSON.stringify(e));
			  });
			// })
		  },

版权声明:本文为qq_58946831原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。