2011-11-04 61 views
1

我正在开发一个需要相当可扩展的体系结构,我想知道如何处理我的用户图像。保存或删除旧的配置文件图像?

目前,我已经存储用户的形象,像这样一个文件:

/users/{user id}/normal.jpg 
/users/{user id}/small.jpg 

的问题是,我倾向于碰上缓存的问题与人员的浏览器如当用户上传新图像时,它会覆盖normal.jpg和small.jpg,但用户的浏览并不会立即反映更改。

最好不要删除任何图像?

+1

阅读此:http://stackoverflow.com/questions/126772/how-to-force-a-web-browser-not-to-cache-images –

回答

1

给新上传的图像任何一种随机名称,应该摆脱缓存问题。 例如:

/users/{user id}/normal_{timestamp_of_upload}.jpg 

每当一个新的上传完成后,删除旧并落实新的。当然,您需要跟踪数据库中某处的实际文件名以及用户的其他信息。

2

您可以处理这种情况的一种方法是使用图像文件的最后一次更改的时间戳作为参数在html代码中。 喜欢的东西

<img src="normal.jpg?t=<timestamp>"> 

您可以使用功能stat()计算。