目的
将文件(我主要的是图片)保存在本地,这样可以快速的取到图片,节约用户的流量和时间
保存图片,我认为有两处需要保存
1、选择图片的时候,使用wx.chooseImage选择图片的时候保存
2、下载图片的时候,使用wx.downloadFile下载图片的时候保存
代码片段
1、选择图片的时候
js代码
frontimage: function () {
var _this = this;
//选择图片
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
// 成功,把url赋值至wxml展示图片
_this.setData({
FilePaths: res.tempFilePaths
})
// 保存图片
wx.saveFile({
//之前被这个地址坑了好几次
tempFilePath: res.tempFilePaths, //这个地址是图片地址,而不是你保存的目的地址
success: function (res) {
console.log("保存图片成功")
},
fail: function (res) {
console.log("保存图片失败")
console.log(res)
}
})
}
})
}
2、下载图片的时候
wx.downloadFile({
url: res.data.body[0].URL, //图片的下载地址
success: function (res) { //图片下载成功
wx.saveFile({
tempFilePath: res.tempFilePath, //下载后的图片临时地址
success: function (res) {
console.log("保存图片成功")
},
fail: function () {
console.log("保存图片失败")
}
})
}, fail: function (res) {
console.log("图片下载失败")
}
})
tip 1、图片保存成功后,在保存成功的地方将返回的res.savedFilePath(这是成功保存后的保存路径)放入缓存中,在需要用图片的时候根据缓存存的url就可以取到图片了 2、如有遇到新问题,可以在下方留言或者加QQ群437729329 进行咨询