python使用token验证,通过api上传图片到图床 EasyImages2.0


简介:

最近又开始做odoo了,发现odoo将照片全存在数据库里面,使用base64编码,这可就不方便了。

导入数据的时候不能导入。

不过odoo也有一个显示url图片的功能。

那么就要考虑将图片存在图床了。

总不能让用户手动上传再填url地址吧?

就找了个支持api上传带token验证的图床:EasyImages2.0

https://github.com/icret/EasyImages2.0

还挺好用的。

也有docker版本:

由热心TG网友Derek DDS制作的docker版本
https://github.com/DDSRem/easyimage
https://hub.docker.com/r/ddsderek/easyimage

就用它吧。

一:docker安装

二:安装后打开api

设置--图床安全--API上传   打开即可

三:token设置

设置--api设置--Token列表   注意检查一下token有效期,不行就新建几个

四:python测试API上传

源码如下

import requests


def sendImg(img_name, img_type="image/jpeg"):
    f_abs = open(img_name, "rb")
    url = "http://192.168.1.221:8081/api/index.php"  # 自己想要请求的接口地址
    proxies = {   #网络嗅探用代理,可以取消
        "http": "http://127.0.0.1:12888",
    }
    body = {
        "image": (img_name, f_abs, img_type)
    }
    data = {
        "token": "02559eb5cc28720d502eff1758ffd8d2"
    }
    response = requests.post(url=url, files=body, data=data,
                             proxies=proxies)
    return response


if __name__ == "__main__":
    # 上传图片
    img_name = "2.jpg"
    res = sendImg(img_name)  # 调用sendImg方法
    print(res.json())