0%

【Python】上传图片到图床小工具(基于python3)

上传图片到图床小工具(基于python3)

运行效果

需要额外安装库

  • pyperclip

    pip install pyperclip

  • requests

    pip install requests

上代码

#!python3
#encoding:utf-8
import os
import sys
import requests
def get_url(img):
    #print("请输入图片路径")
    #img = sys.stdin.readline().decode("utf-8")
    #print(img)
    name=str(os.path.basename(img)).replace("\n","").replace("截图","")
    print(name)
    url = "https://sm.ms/api/upload"
    files = {'smfile': ("%s"%name , open(img.replace("\n", ""), 'rb'), 'image/png')}
    print(files)
    sdata = {'ssl': 1}
    res = requests.post(url=url, data=sdata, files=files)
    the_json = res.text
    import json
    the_json = json.loads(the_json)
    print(the_json)
    # print the_json["data"]["delete"]  #删除图片链接
    print(the_json["data"]["url"])  # 图片链接
    print(the_json["data"]["filename"])  # 文件名
    import pyperclip
    mk = '![%s](%s )' % (the_json["data"]["filename"], the_json["data"]["url"])
    print(mk)
    pyperclip.copy(mk)
    print("已复制")
    f = open("图床记录.csv", "a+")
    f.write(the_json["data"]["filename"])
    f.write(",")
    f.write(the_json["data"]["url"])
    f.write(",")
    f.write(the_json["data"]["delete"])
    f.write("\r")
    f.close()

while(True):
    img = sys.stdin.readline()
    get_url(img)

本程序使用了sm.ms图床的APi接口

已转为EXE程序工具

下载地址:点击下载图床工具EXE版 EXE无需电脑额外安装Python程序。

备注

  • 已知BUG,文件名含有中文会闪退(“截图“一词不存在此问题),看代码的你,应该知道为什么了。