• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Go
  • License
    MIT License
  • Created about 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

gis (go image server) go 实现的图片服务,实现基本的上传,下载,存储,按比例裁剪等功能
             _
   ____ _   (_)  _____
  / __  /  / /  / ___/
 / /_/ /  / /  (__  )
 \__, /  /_/  /____/
/____/

go image server

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

stable license download_count release

功能

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

安装

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

使用

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

配置

config.toml

[listen]
# 监听上传 server
upload="127.0.0.1:8087"
# 监听下载 server
download="127.0.0.1:8088"

[upload]
form_field="upload" // 表单提交字段
allow_type = [".jpg", ".jpeg", ".png"] // 允许上传的图片格式
max_size = 2048 // 图片的最大上传大小 KB
root_dir = "upload" // 图片上传根目录
filename_len = 16 // 图片保存文件名字符串长度
dirname_len = 4  // 目录树的目录名长度
thumbnails = ["200_200", "300_300", "200_400"] // 要生成的缩略图裁剪尺寸 width_height

[download]
# 下载的地址 协议://域名:端口
uri = "http://test.com:8088"

[appname] // appname 用于授权,可多个,app_key 需要和 客户端上传的 token 保持一致
    [appname.test]
    app_key = "ad%4a*a&ada@#ada"
    [appname.test1]
    app_key = "sd(4a*yu&dai#9d3"

接口说明

上传图片接口

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

Token 生成规则

token = md5(appname+appKey)

下载图片接口

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

客户端调用示例

反馈

欢迎提交意见和代码,联系方式 [email protected]

License

MIT

Thanks

Create By [email protected]

More Repositories

1

mm-wiki

MM-Wiki 一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。
Go
3,507
star
2

html-templates

一些 html、bootstrap框架的后台模板集合
469
star
3

go-logger

一个简单而强大的 golang 日志工具包,支持同步和异步输出到 命令行,文件, api 接口,文件支持按文件大小,文件行数,日期切分;A simple and powerful golang logging toolkit that supports synchronous and asynchronous output to the console, file, API interfaces, file support by file size, file line number, date sharding.
Go
183
star
4

wmqx

基于 Rabbitmq 的 Http 异步消息调用服务
Go
42
star
5

wmq-admin

wmq admin
Go
33
star
6

fasthttpsession

A fast and powerful session package for fasthttp servers
Go
25
star
7

phaChat

a web chat by node.js 一个基于 node.js 的多人 web 聊天室
JavaScript
23
star
8

wmqx-ui

wmqx service ui
Go
10
star
9

ailu-admin

ailu-admin 是一个 React + React-Router + Antd 开发的中后台管理系统
TypeScript
9
star
10

bootstrap-example

一些 bootstrap 常用的布局例子和模板
CSS
7
star
11

qq-OAuth

QQ 第三方登录 OAuth2.0
Go
7
star
12

go-realtimechat

一个简单的 go 版的聊天服务
Go
5
star
13

database

php 数据库操作模块
PHP
5
star
14

graphics-go

Automatically exported from code.google.com/p/graphics-go
Go
2
star
15

fastgo

A simple, fast go web development framework. 简单方便快速的 go web 开发框架
JavaScript
1
star
16

PhaGrabVideo

a grab video download system
PHP
1
star
17

mtdiff

a mysql table diff tool
Go
1
star