uniapp小程序下载缓存服务器上的图片
1. 使用uni.downloadFile,但是注意下载图片的地址里的域名,需要在微信公众平台里面的downloadFile合法域名进行配置。
export default function downloadAndCacheImage(imageUrl, name) {
return new Promise((resolve, reject) => {
console.log("imageUrl", imageUrl, name)
// 检查本地缓存的更新时间
let lastUpdateTime = uni.getStorageSync('lastUpdateTime');
let currentDate = new Date().getTime();
// if (!lastUpdateTime || currentDate - lastUpdateTime >= 24 * 60 * 60 * 1000) {
// 下载最新的背景图片到本地
uni.downloadFile({
url: imageUrl,
success: (res) => {
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (saveRes) => {
// 保存图片路径到本地缓存
uni.setStorageSync(name, saveRes.savedFilePath);
uni.setStorageSync('lastUpdateTime', currentDate);
console.log("缓存成功", res)
}
});
},
fail: (res) => {
console.log("缓存失败", res)
}
});
// }
});
}
// 缓存图片
downloadAndCacheImage('https://www.com.jpg', 'search_page1')
this.list[2].img=uni.getStorageSync('search_page1')