Gitee图床功能
在Typora 或者其他工具中上传静态图片到gitee仓库
环境准备
1.python环境安装(步骤略)
python3.8+ python官方地址
#包安装
pip install requests
2.创建PicGo仓库
2.1新建仓库
点击创建。
2.2然后在项目中创建img文件夹
3.Gitee仓库授权
访问gitee接口地址,右上角点击授权,根据提示授权项目,授权完成后回到接口地址。
4.修改python脚本
脚本源码对应接口参数,参数详情请参考gitee api接口文档
创建一个test.py文件,脚本运行 python /xxx/xxx/test.py /xxx/xxx/xxx.png
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Author:zhang yechong
import requests
import base64
import uuid
def b64file(path):
with open(path, "rb") as f: # 转为二进制格式
base64_data = base64.b64encode(f.read()) # 使用base64进行加密
return base64_data.decode('utf-8')
def main(content,last:str):
owner ="" #owner 仓库所属空间地址(企业、组织或个人的地址path)
repo = "pic-go" #仓库路径(path)
path = f"/img/{uuid.uuid4().hex}.{last}" #文件上传路径
access_token = "" #access_token
message ="测试文件上传"
url = f"https://gitee.com/api/v5/repos/{owner}/{repo}/contents/{path}"
data = {
"access_token":access_token,
"message":message,
"content":content,
"branch":'master'
}
res = requests.post(url=url,data=data)
if res.status_code == 201:
res_json = res.json()
img_url = res_json.get('content')['download_url']
print(f"Upload Success:\n{img_url}")
else:
print("Fail")
def local_test():
#本地测试
#修改图片所在路径
content_path = r"C:\Users\xxx\Pictures\login_3.jpg"
content = b64file(content_path)
last = content_path.split('.')[-1]
main(content, last)
if __name__ == '__main__':
#脚本运行 python /xxx/xxx/test.py /xxx/xxx/xxx.png
#python 脚本路径 图片路径
import sys
if len(sys.argv) > 1:
content_path = sys.argv[1]
last = content_path.split('.')[-1]
content = b64file(content_path)
# print('Hello, ' + sys.argv[1] + '!')
else:
print('error!')
sys.exit(1)
if not content:
print("error")
else:
main(content,last)
5.配置Typora
左上角文件—>设置偏好
可点击验证图片上传选项,返回结果为:
#成功返回
Upload Success:
https://gitee.com/xxxx/xxxx/xxx.png
#失败返回
error or fail