项目:使用element-ui el-upload 上传图片,默认选取文件后立即进行上传,使用
:http-request="httpRequest" 覆盖默认上传行为,上传成功后,后端需要对图片进行处理在返回给前端,返回图片url前端反显;
问题:返回后的url地址没错,浏览器直接打开也没问题,img src显示也是最新的地址,但是前端显示的却是没有处理的图片
猜想:1.可能是前端页面没有刷新过来,数据改变了,页面没有刷新;2.可能是浏览器缓存问题;3.nginx缓存问题,
尝试的解决方法:1.前端在接口返回成功进行src赋值后强制刷新页面(失败);2.el-upload 自带的清楚缓存的方法,this.$refs.upload.clearFiles() this.$refs.upload.uploadFiles = [](清空已上传的文件列表)(失败);3.浏览器缓存,在header添加 Cache-Control "no-cache, no-store, must-revalidate" 不使用任何缓存,(失败);4.nginx配置禁止缓存 cache-control:no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0(成功)
---------------------------------------------------------
测试后发现图片显示还有问题,,,,,
究其原因是后端处理后返回的url和处理前的url地址是一摸一样的,,,
一样的数据不会触发updata
最后在url 后面加上时间戳解决了。