V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
aimerforreimu
V2EX  ›  分享创造

写了一个基于各类 API 的图床

  •  1
     
  •   aimerforreimu ·
    0xDkd · 2018-11-05 23:18:28 +08:00 · 4407 次点击
    这是一个创建于 2242 天前的主题,其中的信息可能已经有所发展或是发生改变。

    动机

    一直想自己调一下各种图床的 api ,本来想用世界上最好的语言,最近在学 Go,索性直接用 Go 写了一个 API 图床,另外加上个人超级喜欢 SMMS 图床的 UI,想按照那个样子写一个,无奈 CSS 渣渣,根本写不出辣么好看的样式,前几天有个 V 友发布了一个图床 (看这里)[https://www.v2ex.com/t/499834#reply27],这个图床的样式是模仿 SMMS 的样式,超级喜欢,于是就是用了大佬写的前端,自己造了一个基于 各类 API 的图床

    首先前排不要脸求 Star ❤ (/ω\)

    演示地址 AuXpI 图床

    GitHub 地址 GitHub

    功能

    • 支持 web 上传图片
    • 支持 API 上传图片
    • 支持 搜狗图床,新浪图床,SMMS 图床 的图片上传
    • API 可以设置 token 可以私用,也可以选择关闭 API,只保留 web 上传
    • 可以设置是否开启新浪图床上传(因为新浪图床需要登录自己的账号)
    • 可以设置允许上传的图片最大大小 和 一次性上传的最多张数
    • .....

    具体配置请看 AuXpI

    截图

    目前包括了三个 API,搜狗,渣浪,和 SMMS , 程序自带了 API 接口,和 web 上传页面,并且两个是用了不同的路由

    搜狗 :

    Snipaste_2018-11-05_21-09-45.png

    SMMS :

    Snipaste_2018-11-05_21-10-02.png

    渣浪: Snipaste_2018-11-05_21-17-01.png

    各类配置

    本来没有想那么多,想写一个超级轻量级的图床,所以一切配置靠 json,并没有连接数据库,所以对环境的要求也超级少

    只需要把打包好的程序扔到服务器上面,运行,然后配置 json 就可以啦,json 各种配置说明如下

    
    {
      "site_name": "BusterApi 图床",         #站点名称
      "site_footer": "你好世界",              #footer 输出的内容
      "site_url": "/",                       # 站点 url
      "site_upload_max_number": 10,          #一次性最多可以上传多少张图片
      "site_up_load_max_size": 5,			 #最大允许上传的图片大小,单位 MB
      "open_api_up_load": true,				 # 是否开启 API 上传 
      "api_token": "",						 # API token 空为不设置
      "api_default": "SouGou", 				 # API 默认上传上去的图床
      "cache_config": true, 				 #是否对配置进行缓存(建议开启)
      "site_upload_way": {
        "local_store": false, 				 #是否开启本地储存(此功能等待开发)
        "open_sina_pic_store": false, 		 #是否启用新浪图床
        "sina_account": {
          "user_name": "", 					 #若开启微博图床,请填写您的微博登录用户名
          "pass_word": "", 					 #填写您的 微博登录密码
          "reset_sina_cookie_time": 3600,  	 # 微博 cookie 缓存时间 s
          "defult_pic_size": "large" 		 # 默认返回的微博图片的大小
        }
      }
    }
    
    

    说明

    本项目是使用 beego 写的,感觉写完这一次学了不少的知识,代码基本上是边看编写的,Go 写起来也挺舒服的(个人看法),所以,这个项目会有大量的神奇的 BUG,和 各种蜜汁代码,大佬嘴下留情

    如果有问题 欢迎在 Issue 中提出讨论

    最后在发一次项目地址,求支持 ❤ (/ω\)

    GitHub 地址 GitHub

    15 条回复    2018-11-17 21:17:36 +08:00
    skyqqcc
        1
    skyqqcc  
       2018-11-05 23:21:37 +08:00 via Android
    支持.....
    natforum
        2
    natforum  
       2018-11-06 01:00:47 +08:00
    mark
    aimerforreimu
        3
    aimerforreimu  
    OP
       2018-11-06 10:05:30 +08:00 via Android
    @skyqqcc 感谢
    jisibencom
        4
    jisibencom  
       2018-11-06 12:06:30 +08:00 via Android
    不错的样子,免登陆发布最好了
    dyxang
        5
    dyxang  
       2018-11-06 12:22:07 +08:00 via iPhone
    纯静态?
    dyxang
        6
    dyxang  
       2018-11-06 12:24:07 +08:00 via iPhone
    @dyxang 我想多了……
    aimerforreimu
        7
    aimerforreimu  
    OP
       2018-11-06 13:23:32 +08:00 via Android
    @dyxang 纯静态 API 就不可控了_(:з」∠)_
    wanwushengzhang
        8
    wanwushengzhang  
       2018-11-06 17:39:58 +08:00
    支持
    aimerforreimu
        9
    aimerforreimu  
    OP
       2018-11-06 17:59:56 +08:00
    chenhonzhou
        10
    chenhonzhou  
       2018-11-07 12:25:29 +08:00
    mdui 好评😀
    alex1504
        11
    alex1504  
       2018-11-07 18:05:40 +08:00
    优秀弟娃!
    leizang
        12
    leizang  
       2018-11-14 11:10:11 +08:00 via Android
    为什么一会儿就不能访问了呢
    aimerforreimu
        13
    aimerforreimu  
    OP
       2018-11-15 12:53:23 +08:00 via Android
    @leizang 你要上传违反法律的图片能访问才怪 doge
    leizang
        14
    leizang  
       2018-11-16 22:34:54 +08:00
    @aimerforreimu 不是的 是 ip:2333 这个访问不成
    aimerforreimu
        15
    aimerforreimu  
    OP
       2018-11-17 21:17:36 +08:00 via Android
    检查防火墙师傅阻断了这个端口
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:17 · PVG 02:17 · LAX 10:17 · JFK 13:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.