前端显示后端返回的两张相同链接的图片有页面缓存的处理

问题

Q: 前端显示一张图片,该图片可被重新上传, 后端存储时全部命名为【/照片.jpg】。
当重新上传该图片时,请求详情接口后被更新的图片字段名称返回依旧是【/照片.jpg】,此时页面图片不更新,仍是未更新前的图片,重新刷新页面后图片更新。
如何使页面不刷新就更新图片?

解答

A: 发生问题的原因是浏览器缓存,两张图片的内容不同但是名称一样,浏览器会认为依旧是未更新前的图片。
解决方法: 将标签的【src】属性清空,然后重新赋值。

html部分:
      <img :src="url" alt="">
js部分:
    // url 为img标签src的绑定值
    // res 为接口返回, res.data.url为接口返回的图片字段链接
    // vue环境, 原生写法自行修改
    this.url = '';    // 将src的值清空
    this.url = res.data.url;  // 将src重新赋值
posted @ 2021-11-15 10:23  仲夏今天也在写前端  阅读(421)  评论(0编辑  收藏  举报