| 
				 
					保存图片到本地有两种方法,其一是网络图片保存到相册,其二本地图片保存到相册。 
				
					  
				
					官方文档 
				
					保存图片前需要授权,因此我们先授权,代码如下: 
				
					  
				
 
				
					- 
						//获取相册授权
 
					- 
						wx.getSetting({
 
					- 
						success(res) {
 
					- 
						if (!res.authSetting['scope.writePhotosAlbum']) {
 
					- 
						wx.authorize({
 
					- 
						scope:'scope.writePhotosAlbum',
 
					- 
						success() {
 
					- 
						console.log('授权成功')
 
					- 
						}
 
					- 
						})
 
					- 
						}
 
					- 
						}
 
					- 
						})
 
					- 
						//此方法可以写在app.js中,也可以写在调用保存按钮时。
 
				 
				
					  
				
					获取授权 
				
					第一种方法,网络图片保存: 
				
					  
				
 
				
					- 
						var imgSrc = "http://yijiao.oss-cn-qingdao.aliyuncs.com/images/http://tmp/wx1b4e5e756cd48af1.o6zAJsws4grEQvYrWTjBigy-6QaU.0llhudiKSF2V955a1c48350d9328ef064b4d36d12746.jpg"
 
					- 
						wx.downloadFile({
 
					- 
						url: imgSrc,
 
					- 
						success: function (res) {
 
					- 
						console.log(res);
 
					- 
						//图片保存到本地
 
					- 
						wx.saveImageToPhotosAlbum({
 
					- 
						filePath: res.tempFilePath,
 
					- 
						success: function (data) {
 
					- 
						wx.showToast({
 
					- 
						title: '保存成功',
 
					- 
						icon: 'success',
 
					- 
						duration: 2000
 
					- 
						})
 
					- 
						},
 
					- 
						fail: function (err) {
 
					- 
						console.log(err);
 
					- 
						if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
 
					- 
						console.log("当初用户拒绝,再次发起授权")
 
					- 
						wx.openSetting({
 
					- 
						success(settingdata) {
 
					- 
						console.log(settingdata)
 
					- 
						if (settingdata.authSetting['scope.writePhotosAlbum']) {
 
					- 
						console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
 
					- 
						} else {
 
					- 
						console.log('获取权限失败,给出不给权限就无法正常使用的提示')
 
					- 
						}
 
					- 
						}
 
					- 
						})
 
					- 
						}
 
					- 
						},
 
					- 
						complete(res){
 
					- 
						console.log(res);
 
					- 
						}
 
					- 
						})
 
					- 
						}
 
					- 
						})
 
				 
				
					第二种方法:选择相册图片存入本地 
				
					  
				
 
				
					- 
						wx.chooseImage({
 
					- 
						count:1,// 默认9
 
					- 
						sizeType: ['original','compressed'],// 可以指定是原图还是压缩图,默认二者都有
 
					- 
						sourceType: ['album','camera'],// 可以指定来源是相册还是相机,默认二者都有
 
					- 
						success:function (res) {
 
					- 
						// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
 
					- 
						console.log("choose image")
 
					- 
						console.log(res)
 
					- 
						var tempFilePath = res.tempFilePaths[0]
 
					- 
						wx.getImageInfo({
 
					- 
						src: tempFilePath,
 
					- 
						success:function (res) {
 
					- 
						console.log("get image info")
 
					- 
						console.log(res)
 
					- 
						wx.saveImageToPhotosAlbum({
 
					- 
						filePath: res.path,
 
					- 
						success(res) {
 
					- 
						console.log("保存图片成功")
 
					- 
						console.log(res)
 
					- 
						wx.showToast({
 
					- 
						title:'保存成功',
 
					- 
						icon:'success',
 
					- 
						duration:2000
 
					- 
						})
 
					- 
						},
 
					- 
						fail(err) {
 
					- 
						console.log('失败')
 
					- 
						console.log(err)
 
					- 
						 
 
					- 
						if (err.errMsg == "saveImageToPhotosAlbum:fail cancel"){
 
					- 
						wx.openSetting({
 
					- 
						success(settingdata) {
 
					- 
						console.log(settingdata)
 
					- 
						if (settingdata.authSetting["scope.writePhotosAlbum"]) {
 
					- 
						console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
 
					- 
						}else {
 
					- 
						console.log('获取权限失败,给出不给权限就无法正常使用的提示')
 
					- 
						}
 
					- 
						}
 
					- 
						})
 
					- 
						}
 
					- 
						}
 
					- 
						})
 
					- 
						}
 
					- 
						})
 
					- 
						}
 
					- 
						})
 
				 
				
					如有疑问,请简信。 
			 |