4ye图片服务 - mindpin/knowledge-space-net-lib GitHub Wiki

目前有经常处理图片,保存图片,图床的需求。需要开发一个web服务来满足。

主要解决以下问题:

  • 上传图片,后台保存到阿里云,并获取外链地址;
  • 将图片转成不同的大小,可以获取原始图片以及不同大小图片的外链地址;
  • 可以自行配置所有图片的多种不同尺寸,也可以针对单张图片获取指定的尺寸;

图片尺寸配置

用户可以创建多个图片尺寸配置,每个配置包含一个配置名和一个配置参数;
配置参数包含如下信息:

尺寸配置名;
尺寸配置类型,分为六种类型:
  1. 限定宽度,高度自适应(需要指定width)
  2. 限定高度,宽度自适应(需要指定height)
  3. 限定最长边,短边自适应(需要指定max_size)
  4. 限定最短边,长边自适应(需要指定min_size)
  5. 限定宽高(需要指定width和height)
  6. 放大较小图片,裁剪较大图片到某尺寸(需要指定width和height)

尺寸配置可以通过一个web界面维护,创建的尺寸配置保存在数据库中。

图片上传与处理

用户可以通过web上传文件,上传后的原始文件先保留一份。
然后,读取所有的尺寸配置,按照所有的尺寸配置,把原始图片处理成对应的尺寸。
以一个可分页的列表列出原始图片,点击打开原始图片页面时,可以获取原始尺寸以及多个不同尺寸的外链地址。
所有图片都保存在阿里云。

https://github.com/mindpin/image-service

⚠️ **GitHub.com Fallback** ⚠️