本帖最后由 侃遍天下无二人 于 2024-9-28 22:00 编辑
源码
工具已开源,见 https://gitee.com/kbtxwer/pic-golang
下载地址 https://gitee.com/kbtxwer/pic-golang/releases/latest
本文的图片均是借助此工具插入的
使用说明
论坛里关于如何使用图床的教程非常丰富,教程中也提供了许多现成的图床供大家使用,但支持直接粘贴上传、拿到图片地址并自动插入的图床不多。此前的csdn编辑器算一个,不过现在已经加了referer验证。
此外,还有不少第三方图床管理软件供选择,如shareX、picgo等,功能丰富,提供的选项也复杂些。我只有在typora中粘贴上传图片的需求,所以研究了下其自定义上传的选项,开发了一个简化版的命令行图床上传工具。
首先,我们填写一下typora的上传命令,记得把插入图片的行为选择上传,实现粘贴后自动上传图片:
typora的上传命令如下:
pic-golang img1.png img2.png ...
根据帮助文档,如果图片上传成功,应当输出如下字符串:
Upload Success:
http://example.com/img1.png
http://example.com/img2.png
根据提示写一个直接回显字符串的示例,会发现typora提示调用成功(这个就不截图了,大家自己试试)
第一个参数就是填入的命令,请将其放在环境变量所在目录或使用绝对路径指向它,后面的参数都是图片路径,一般应当在临时目录里
用法也很简单,将软件放到环境变量目录下,然后在typora中按上图配好后,点击测试,第一次使用时提示内容如下:
这是因为还没有配置cookie,转到config目录下,获取cookie并在对应位置填写即可(可能需要给cookie加上转义符),如何获取cookie请参考这里。填写完毕后,再次进行验证:
这里提示验证失败是正常现象,因为测试用的图片太小了不符合要求。
此后再回到typora上截图粘贴,发现提示正在上传,过一段时间图片地址就被替换为在线的了。
目前仅测试了一组json配置,后续会支持更多类型的图床,可用将同一组配置重复多次,并填写不同账号的cookie,软件运行时会从config目录中随机选择一个配置执行,以降低单个账号的上传频率。
|