小程序
小游戏
企业微信
微信支付
扫描小程序码分享
下载时候指定了本地临时文件名,保存相册时候也是指定的临时文件名,后缀是 .jpg 但是仍然提示失败.
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
来来来,都往这里看。以下代码不会再报错异常。
onSaveClick:function(){ var that = this; wx.showLoading({ title: '下载中...', }) var filename = new Date().getTime()+".jpg"; var savePath = wx.env.USER_DATA_PATH+"/"+filename wx.downloadFile({ header:'content-type: image/jpg', url: that.data.img, filePath:savePath, success:function(res){ wx.hideLoading({ success: (res) => {}, }) var filePath = res.filePath that.setData({filePath:filePath}) wx.getSetting({ success: (res) => { console.log('getSetting', res); var writePhotosAlbum = res.authSetting['scope.writePhotosAlbum']; if (writePhotosAlbum == true) { that.saveImg() }else if(writePhotosAlbum==false){ wx.showModal({ title: '是否授权保存到相册', content: '需要获取您的保存图片权限,请确认授权,否则图片将无法保存到相册', success: function (tip) { if (tip.confirm) { wx.openSetting({ success: function (data) { if (data.authSetting["scope.writePhotosAlbum"] === true) { that.saveImg() } else { wx.showToast({ title: '授权失败', }) } } }) } } }) }else{ that.saveImg() } }, fail: function(res) {}, complete: () => {} }) } }) }, saveImg:function(){ var filePath = this.data.filePath wx.showLoading({ title: '保存中...', }) wx.saveImageToPhotosAlbum({ filePath: filePath, success: function (res) { wx.hideLoading({ success: (res) => {}, }) wx.showToast({ title: '保存成功', icon: 'success', duration: 1500, }) }, fail: function (res) { wx.showToast({ title: "保存失败:"+res.errMsg, icon: 'none', duration: 1500, }) }, complete: function (res) { }, }) },
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这俩路径是一样的吧
save的时候应该用这个路径:
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
来来来,都往这里看。以下代码不会再报错异常。
onSaveClick:function(){ var that = this; wx.showLoading({ title: '下载中...', }) var filename = new Date().getTime()+".jpg"; var savePath = wx.env.USER_DATA_PATH+"/"+filename wx.downloadFile({ header:'content-type: image/jpg', url: that.data.img, filePath:savePath, success:function(res){ wx.hideLoading({ success: (res) => {}, }) var filePath = res.filePath that.setData({filePath:filePath}) wx.getSetting({ success: (res) => { console.log('getSetting', res); var writePhotosAlbum = res.authSetting['scope.writePhotosAlbum']; if (writePhotosAlbum == true) { that.saveImg() }else if(writePhotosAlbum==false){ wx.showModal({ title: '是否授权保存到相册', content: '需要获取您的保存图片权限,请确认授权,否则图片将无法保存到相册', success: function (tip) { if (tip.confirm) { wx.openSetting({ success: function (data) { if (data.authSetting["scope.writePhotosAlbum"] === true) { that.saveImg() } else { wx.showToast({ title: '授权失败', }) } } }) } } }) }else{ that.saveImg() } }, fail: function(res) {}, complete: () => {} }) } }) }, saveImg:function(){ var filePath = this.data.filePath wx.showLoading({ title: '保存中...', }) wx.saveImageToPhotosAlbum({ filePath: filePath, success: function (res) { wx.hideLoading({ success: (res) => {}, }) wx.showToast({ title: '保存成功', icon: 'success', duration: 1500, }) }, fail: function (res) { wx.showToast({ title: "保存失败:"+res.errMsg, icon: 'none', duration: 1500, }) }, complete: function (res) { }, }) },
注意上方代码,filePath设置前后不一致。
但是在另外一个小程序就没有问题。至于为啥原因,懒得研究了。
这俩路径是一样的吧
save的时候应该用这个路径: