在我们使用image.onload读取图片文件的时候,onload的加载问题
照片在流浪器或者APP中有无缓存,会影响onload对图片文件的读取
不知道大家用没用过image.onload方法,如果照片有缓存,那么onload方法将直接读取缓存的图片(当然,读取图片命名不变的情况下,因为我的目的是,通过活体检测,获取到实时检测的新的照片,转成base64数据上传到后台,每次得到的照片都相同命名,目的是为了覆盖以前的照片。)
那么,有什么方法解决这个问题呢?
当然,清除缓存啊!可是清除缓存操作有点繁杂。
image.onload = function (){
//里面是读取图片数据之后的操作。
//我的操作是将读取的照片转换成base64数据
}
之后,我们可以通过各种方法使其,在读取成功或者失败都清除图片的缓存。
或者进行一些大操作,刷新一下(location.reload)(当然在其他数据不重要的情况下,同时这个方法会使得页面一闪,有点难受的样子,我登录的时候这种情况还算是可以接受)。如果你有更好的方法,比如说vue中的**localStorage**和**sessionStorage**方法,等等。
(个人理解,如果有错漏,还请指正,谢谢)