go>> gis>> 返回
项目作者: phachon

项目描述 :
gis (go image server) go 实现的图片服务,实现基本的上传,下载,存储,按比例裁剪等功能
高级语言: Go
项目地址: git://github.com/phachon/gis.git


  1. _
  2. ____ _ (_) _____
  3. / __ / / / / ___/
  4. / /_/ / / / (__ )
  5. \__, / /_/ /____/
  6. /____/

go image server

go 实现的图片服务, 提供上传, 存储, 自动裁剪, 下载等功能

stable
license
download_count
release

功能

  • http 上传
  • 图片存储
  • 按比例裁剪图片
  • 图片下载浏览

安装

下载最新版本的二进制程序,下载地址:https://github.com/phachon/gis/releases

使用

  • windows
  1. gis.exe
  2. # 指定配置文件启动
  3. gis.exe --conf config.toml
  • linux
  1. ./gis
  2. # 指定配置文件启动
  3. ./gis --conf config.toml

配置

config.toml

  1. [listen]
  2. # 监听上传 server
  3. upload="127.0.0.1:8087"
  4. # 监听下载 server
  5. download="127.0.0.1:8088"
  6. [upload]
  7. form_field="upload" // 表单提交字段
  8. allow_type = [".jpg", ".jpeg", ".png"] // 允许上传的图片格式
  9. max_size = 2048 // 图片的最大上传大小 KB
  10. root_dir = "upload" // 图片上传根目录
  11. filename_len = 16 // 图片保存文件名字符串长度
  12. dirname_len = 4 // 目录树的目录名长度
  13. thumbnails = ["200_200", "300_300", "200_400"] // 要生成的缩略图裁剪尺寸 width_height
  14. [download]
  15. # 下载的地址 协议://域名:端口
  16. uri = "http://test.com:8088"
  17. [appname] // appname 用于授权,可多个,app_key 需要和 客户端上传的 token 保持一致
  18. [appname.test]
  19. app_key = "ad%4a*a&ada@#ada"
  20. [appname.test1]
  21. app_key = "sd(4a*yu&dai#9d3"

接口说明

上传图片接口

  • 请求地址:/image/upload?
  • 请求方式:POST
  • 请求 Header: Appname, Token (用来验证上传合法性)
  • 返回格式:json
  1. {
  2. "code": "1", // 1:success, 0:error
  3. "message": "", // error message
  4. "data": {
  5. "image": "http://test.com:8088/image/LYEDBYKAFGGRJUFL.png"
  6. "image_200_200": "http://test.com:8088/image/LYEDBYKAFGGRJUFL_200_200.png"
  7. "image_200_400": "http://test.com:8088/image/LYEDBYKAFGGRJUFL_200_400.png"
  8. "image_300_300": "http://test.com:8088/image/LYEDBYKAFGGRJUFL_300_300.png"
  9. }, // server image url
  10. }

Token 生成规则

  1. token = md5(appname+appKey)

下载图片接口

  • 接口地址:/image/:imageName
  • 请求方式:GET
  • 返回:图片

客户端调用示例

反馈

欢迎提交意见和代码,联系方式 phachon@163.com

License

MIT

Thanks

Create By phachon@163.com