本文通过对一个小型电商系统的图片存储模块分析与总结,分享如何设计一个适用的图片存储功能。
在日常的系统设计中,难免会涉及到图片功能,例如商品的图片、文章封面图、用户头像等等。一般常规的方式对数据创建一个图片的字段,这个字段存储的就是文件的路径。如下面的格式:
数据编号 | 其他的字段 | 图片字段 |
---|---|---|
1 | ... | |
2 | ... |
上述的数据表设计有好也有坏的地方:
优势:
劣势:
根据上面的问题,我们可以思考一下,如果将系统的所有图片,都做成一个功能模块,没一个需要涉及到图片的地方,去调用这个模块中的列表数据,获取到系统的图片,这样是不是会更好一些呢?
如上图,微信公众号的图片管理功能。左侧是图片的分类,右侧是对应的具体图片。我们在需要适用图片的地方,去获取对应的图片数据即可。
同时,我们也有一个独立的素材库管理,可以查看系统的所有图片,便于对图片的管理。
优化思路提到了,我们单独做一个图片管理器。那我们数据表该具体怎么设计呢?我们这里以微信公众号的图片管理做演示。
通过上面的设计,我们可以总结出如下几点优势:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。