图片作为互联网服务中最基础的资源之一,随着互联网基础服务越来越专业化,图片的存储、处理、分发也发展成了一项独立的基础服务。试想一下,如果每家互联网公司都要花费大量人力物力去做图片相关的技术研发,哪还有时间去做自己的业务。专业的事情还是要交给专业的人来做。
图床,也就是专门提供存储图片的地方,我们只要通过图床提供的 API 接口,把图片上传上去,就可以通过外链访问了,根本不用操心图片是怎么存的,硬盘空间不够了,硬盘坏了,访问速度比较慢等等问题,这些图床都会帮我们搞定,他们会用各种技术帮我们做图片相关的优化和服务,比如多机互备、CDN 加速、图片处理、图片鉴黄、文本识别等等。
当然,图床也是有缺点的,当所有人都把图片存在同一个图床上,万一有一天图床真挂了,那所有图片就都无法访问了,虽然这种情况的概率很低,但并不等于不会发生。我就经历过云服务商机房被雷劈,网站都挂掉的情况。支付宝光缆不也被挖断过吗?不过,对于我们个人用户来说,要求也没那么高,图床已经完全能满足我们的需求了。
目前图床可以分为两种,一种是公共图床,一种是自建图床。公共图床也就是利用公共服务的图片上传接口,来提供图片外链的服务,比如新浪微博。自建图床,也就是利用各大云服务商提供的存储空间或者自己在 VPS 上使用开源软件来搭建图床,存储图片,生成外链提供访问,比如七牛、Lychee 开源自建图床方案。
公共图床微博图床
由于微博本身就是面向公众提供服务,每个人发微博基本都得带上几张图片,以微博的体量,每天的新增图片数也不是个小数字。但是微博对于图片上传服务也没有接口说明文档,上传的接口还是在开发者们从微博产品里找出来的,可能微博只希望上传的图片仅仅用于微博产品本身吧。
微博图床的特点是免费,没有容量限制,全网 CDN 加速,支持 HTTPS,到哪里都很快。但是免费的服务也有不足的地方,上传的图片会被转成 jpg,图片中可能加上了肉眼难以识别的水印,另外微博的图片鉴别服务也可能会随时删除你的图片。
自建图床:云服务七牛
七牛 作为国内领先的云服务商,全网 CDN 加速,全国访问速度都不错,API 很详细,对开发者比较友好。免费用户提供 10GB 存储空间,国内和海外分别提供 10 GB 的 HTTP 免费流量,七牛的 HTTPS 流量是收费的,没有免费额度。此外,七牛还提供了针对图片的各种服务,包括图片裁剪,压缩,鉴黄等等衍生服务。如果你觉得图片尺寸太大,可以在外链后面添加参数,访问的时候七牛会自动根据你的参数对图片进行处理。
目前我的图片都存在七牛上,使用 HTTPS 外链,每个月支出也就几块钱,就为了博客上那个小绿锁 。