开源(所有人可见)
在设置-安全设置-私人令牌-生成新令牌,令牌需要有projects权限,生成后保存好给到的access_token。
import requests
import sys
import time
import random
import os
import base64
import json
# git commit的信息
message="图床"
# 刚刚获取到的私人令牌
access_token="XXXXXXXXX"
# gitee的用户名
owner="Tung7"
# 刚刚新建的仓库名
repo="pic-repo"
# 提交文件目标目录
dir="img"
base_url="https://gitee.com/api/v5/repos/"
filename=sys.argv[1]
filepath=sys.argv[2]
imgs=sys.argv[3:]
tmp="""{"access_token":"%s","content":"%s","message":"%s"}"""
arr=[]
hasF=False
for img in imgs:
file_ext = os.path.splitext(img)[-1]
newName="%s/%s_%s_%s" % (filename, filename,time.strftime("%Y%m%d%H%M%S", time.localtime()),random.randint(100000, 999999))
url=base_url+owner+"/"+repo+"/contents/"+dir+"/"+newName+file_ext
with open(img, ‘rb‘) as f:
encode_img = base64.b64encode(f.read())
img_base64 = encode_img.decode()
#print(‘data:image/{};base64,{}‘.format(file_ext[1:], img_base64))
headers={"Content-Type":"application/json;charset=UTF-8"}
data=tmp%(access_token, img_base64, message)
f.close()
try:
res=requests.post(url=url, headers=headers, data=data.encode(‘utf-8‘))
res.encoding = "utf-8"
resBody=json.loads(res.text)
arr.append(resBody[‘content‘][‘download_url‘])
except Exception as e:
print(e)
hasF=True
if (hasF):
print("Upload Failed:")
else:
print("Upload Success:")
for a in arr:
print(a)
与
${filepath}`参数
/usr/local/bin/python3 /Users/Tung/hexoblog/pyupload.py ${filename} ${filepath}
原文:https://www.cnblogs.com/tung7/p/14877808.html