如何在不更改网址的情况下更改图像?

时间:2016-02-26 07:34:45

标签: html angularjs cloudinary

我是直接在cloudinary上传图片,我得到了一些特定图片的网址。我粘贴在angularjs(前端视图)中,一切正常。

<img class="full-image" src="http://res.cloudinary.com/dl33ng89c/image/upload/v1456470892/mobile.jpg"/>

例如,我得到了这样的网址:

 http://res.cloudinary.com/dl33ng89c/image/upload/v1456470892/mobile.jpg

如何在不更改此网址的情况下更新我的图片?

感谢任何人的帮助。

3 个答案:

答案 0 :(得分:0)

通常你不能做到。

图片将由浏览器缓存。因此,当您再次请求相同的网址时,浏览器将从缓存中获取图像并在浏览器中显示。

为了实现你想要的,我知道两种可能的方式。

  1. 使用cache bursting.i.e只需在图片网址中发送一些虚拟/随机值。

    SRC = “/图片/ some_image.png?虚设= 121212”

  2. 这里dummy = 121212与你的server.it只是确保图像不会来自浏览器缓存。

    1. 您可以禁用从服务器代码缓存整个页面。为你的页面设置http标题。当浏览器首先加载时,它不会缓存你的页面,它将始终从服务器获取fesh副本。 https标题,例如Cache-control: no-cacheExpires: 0

答案 1 :(得分:0)

根据您的要求,您似乎想要替换静态提供的文件。如果是这样,你需要一些后端处理来做你想做的事情(一些PHP,Java等)。您需要使用新图像覆盖原始图像。 如果你还没有自己的后端和你使用的其他服务(看起来你正在做的事情),那么如果运气好的话就会出局。

答案 2 :(得分:0)

更新图片时(保留-(void)layoutSubviews 时上传),图片会被Cloudinary帐户覆盖,但它仍会缓存在CDN中。

建议的方法是更新URL以使用上载调用返回的新版本值。或者,从您的网址中完全删除该版本,并启用public_id标记以供将来上传。有关更多信息,请参阅以下内容 https://support.cloudinary.com/hc/en-us/articles/202520852-How-can-I-update-an-already-uploaded-image-