使用微信小程序将文件(或图片)保存在本地,这样可以快速的取到图片,节约用户的流量和时间。
保存图片,我认为有两处需要保存
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(图片下载失败)
}
})
图片保存成功后,在保存成功的地方将返回的res.savedFilePath(这是成功保存后的保存路径)放入缓存中,在需要用图片的时候根据缓存存的url就可以取到图片了。
参与讨论
发表评论