• 你们在设计系统时保存用户头像是直接保存文件名还是保存完整路径?
  • 发布于 2个月前
  • 356 热度
    5 评论

如题,你们在设计系统时保存用户头像是直接保存文件名还是保存完整路径?类似如下两种格式哪个好?

A. xxx.jpg
B. /assets/xxx.jpg

用户评论
  • 怪性酷
  • 不管是从灵活性方面还是从节省存储空间方面考虑,2都会比1好一点,但是如果从字符串拼接需要消耗计算资源的方向考虑,貌似2又更好点了,所以如果追求极致性能,那就选2,用空间换时间,否则的话就选1吧。
  • 2024/5/13 12:13:00 [ 0 ] [ 0 ] 回复
  • 北船余音
  • 选 1,选 2 这不是我正经历的么?
    老系统:直接 uid.jpg 图片路径都不需要存 如果要调图片(直接饮用传参过来的 id 直接可以得到路径,少查一次数据库,又节省 了数据库的空间
    新系统:有存路径,( oss 的路径,优点:不需要拼装直接从数据库读取地址(也就是上面的 缺点

    我以为第一种更优秀 但是团队协作需要包容更多!
  • 2024/5/13 12:10:00 [ 0 ] [ 0 ] 回复
  • Kily
  • 我的做法是写两个字段,filename 和 storage_provider ,这样的做法的好处是只存我文件名就行,并且如果后续需要新的基础路径或者存到 OSS/S3 上,那开个新的 storage_provider id 就行了。
  • 2024/5/13 12:05:00 [ 0 ] [ 0 ] 回复
  • 远行客
  • 这问题很蛋疼,即使你选了 1 ,以后想改 2 ,只要在 2 变更 path 前,sql 一下批量更新一下就行了。又或者在增加一个字段存放 path 都可以。犯得着这么纠结么,还是不自信?
  • 2024/5/13 11:52:00 [ 0 ] [ 0 ] 回复
  • 徒步旅行
  • 我觉得第一种更好吧,完整的路径在代码里可以拼接,灵活一些。第二种方法的话万一哪天改文件夹名称了,你数据库里存储的数据怎么办?全部更新一遍?
  • 2024/5/13 11:47:00 [ 0 ] [ 0 ] 回复