1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| import requests import sys import time import random import os import base64 import json import cv2
message="图床"
access_token="XXXXXX"
owner="XXXXXX"
repo="pic-repo"
dir="img"
def compress_img(img): src=cv2.imread(img, 1) d,fname=os.path.split(img) purename=os.path.splitext(fname)[0] cv2.imwrite(d+"/"+purename+".jpg", src, [cv2.IMWRITE_JPEG_QUALITY, 80]) return d+"/"+purename+".jpg"
def get_size(file): size = os.path.getsize(file) return size / 1024
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 if (get_size(img)>1000): img = compress_img(img)
with open(img, 'rb') as f: encode_img = base64.b64encode(f.read()) img_base64 = encode_img.decode() 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)
|