小程序中使用来自服务器的图片,将他缓存下来后,就不用每次一进入小程序再次去获取一次了。
但是只能在调试模式下看到,当小程序预览到手机上时,不打开调试模式,就看不到图片,这是为什么啊?
export default function downloadAndCacheImage(imageUrl) {
return new Promise((resolve, reject) => {
const downloadTask = uni.downloadFile({
url: imageUrl,
success: (res) => {
if (res.statusCode === 200) {
// 下载成功,保存文件
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (saveRes) => {
// 保存成功,返回文件路径
resolve(saveRes.savedFilePath);
},
fail: (err) => {
// 保存失败,返回错误信息
reject(err);
}
});
} else {
// 下载失败,返回错误信息
reject(new Error('Download failed with status code ' + res.statusCode));
}
},
fail: (err) => {
// 下载失败,返回错误信息
reject(err);
}
});
});
}
//使用图片
downloadAndCacheImage('https://xxx.com/1.jpg')
.then(cachedFilePath => {
console.log('图片缓存成功', cachedFilePath);
this.banerUrl=cachedFilePath
})
.catch(error => {
console.error('图片缓存失败', error);
});