图片上传重构点记录(2021-2-24)
最近在重构网站嘛!
觉得图片上传不好用。
目前我们的网站图片上传并没有做太多的管理。

痛点:
- 上传大小限制1M
- 没有分类,只跟个人有关
- 图片可重复上传
- 图片访问没有做优化
上传限制
网站开始的时候是使用自己搭建的FastDFS,找个理由吧.一个人写了整个网站,前端后台,三个月时间,总有设计不好的地方的。
现在改成COS对象存储。所以大小还是要限制的,限制改成了4M。毕竟存储和流量都是要钱的嘛。是按量计费的。
那么既然按量计费,就要添加防盗链功能了。如果同学们使用到这些可以参考一下服务商的官方文档即可。有问题可以到阳光沙滩问答模块发帖子。
另外,为了节省流量,解决图片访问的速度的优化,可以对图片进行大小的缩放,降低流量。假设一张4M的图片,你的显示框只有300*300,那么缩小一下尺寸,大概也就几十k的样子,节省了好多流量。
关于图片分类
这个主要是参考微信公众号的做法:

左侧是分类,右侧是图片列表。
如果默认上传的则是没有分类的。
如果选择了某个分类,此时上传,就可以在某个分类上。
所以呢,就设计了两张表,一张是图片表,一张是分类表。
防止图片重复上传
防止重复上传的目的有两个:
这个的做法也在表的设计上体现了,天际md5值的字段。
表的设计
-
图片分类表
- id-ID
- category_name-分类名称
- user_id-所属用户
- create_time-创建时间
- update_time-更新时间
-
图片表
- id-ID
- url-图片地址
- md5-md5摘要信息
- size-图片的大小
- user_id-所属用户
- deleted-是否删除(逻辑删除,防止删除后其他地方无法使用)
- create_time-创建时间
- update_time-更新时间
这样子,大概就可以满足图片分类的功能了。
大小缩放
节省流量,访问的时候,如果链接加了尺寸,自动对图片进行缩放。
这个可以通过服务商的sdk实现,也可以通过nginx实现。同学们知道这回事即可,混个脸熟。
以上,今天记录。
感谢阅读。

感谢大家的建议!
其实我昨晚写好了,我现在没法截图,不在家里,哈哈。