Answers
我也一直碰到这个问题,七牛和又拍都是这样。咨询过七牛的客服,也没有得到解决办法。
我估计,七牛和又拍在设计的时候,就没太考虑图片更新的问题,而是主要关注创建、删除等操作。
所以后来我用了这么个解决办法:
- 在创建图片以及每次更新图片前,为其生成一个新的版本号,记录到数据库中。 这个版本号可以是递增的数字,也可以是随机数字/字符
- 创建/更新/访问图片时,把这个版本号加到原本的图片名的后面。 例如图片名是 a.jpg,生成的版本号是 373,实际使用的图片名就是 a_v373.jpg
- 更新完成后,如果需要,可以把上一个版本的图片删除
有一个实际案例。我做了一个商品管理系统,每个商品有一个图片,这个图片是会经常更新的。
我的数据库就这样设计:
goods
id int
name varchar(50)
price int
pic_ver int
生成HTML时就是(伪代码):
for goods in goods_list:
print '<img src="{goods.name}_v{goods.pic_ver}.jpg" />'
玩的就是心跳
answered 11 years, 7 months ago