前言
我之前给blog配图的时候一直都是用QQ截图然后手动拖进上传sm.ms 然后把他生成出来的markdown格式复制进来
这样的话我需要:
QQ截图->保存->打开浏览器->打开图床->拖进图床->点上传->复制Markdown->找到配图的地方->粘贴
这一套流程下来导致我真的懒得配图
然后在我这几天高频写blog的时候我想起来我用的图床是有api的

尼玛 那我之前古法上传图片算什么
明确需求
我需要一个截图,满足以下功能:
- 支持区域选择 而不是全屏截图
- 软件截图后弹出确认
- 确认后自动上传
- 最好能有打码 屏蔽隐私信息例如token之类的
- 并把Markdown格式的连接复制到我的剪切板
- 最好能支持多图并行上传 按顺序复制到剪切板
然后的话还有一些附加功能 比如:
- 复制Code的时候根据窗口名字自动加上代码块和代码类型
(比如xShell默认是Bash VS默认是CSharp idea默认是kotlin或者java)
那么有没有现成的轮子呢
我觉得完全满足需求的只能自己写 但是上传api应该是有的
啊没错 他就是已经躺在我steam库好几年的ShareX
ShareX的配置
我们先去看看图床的Docs
然后去ShareX 左边选Custom Uploader Settings
文档里有说上传的Hearder怎么写
我们先用Python测试下 我一时半会没看懂ShareX咋配置的
import requests
import io
from PIL import Image
URL = "https://sm.ms/api/v2/upload"
headers = {"Authorization": "你的token" }
img = Image.open("test.jpg")
buffer = io.BytesIO()
img.save(buffer, format='JPEG')
buffer.seek(0)
files = {"smfile": ("screenshot.jpg", buffer, "image/jpeg")}
response = requests.post(URL,headers=headers,files=files)
print(response.json())
传上去了
那也就是说方法要是POST Token放在header里 文件头名字得叫smfile
不管了 先把ShareX配置先
我测试了一圈 最后配置是这样的:

URL那里填:
然后去配置一下快捷键

完事了 我要的需求大部分都完成了
其余的可能需要自己写了 有空再写吧 刚刚git init(