Typora+简单图床,使用自定义命令上传

Typora是我平时用的比较多的跨平台Markdown编辑器了,但是Typora本身没有图片存储,本地图片进行移动、修改文件名、删除等操作后,文章的图片就不能正常显示。并且在将文章复制到博客时,图片引用往往会出现问题,因此我需要更好的解决方案。在看到其他博主推荐后,我选择了自建Easyimages图床,配合Picgo,将图片上传至图床,但是!!!Picgo的自定义web插件不知道怎么回事,用了两天后,一直上传失败,所以我干脆使用自定义命令,将图片上传至图床了。

到这里目标就很明确了

  1. 配置脚本运行环境

  2. 编辑脚本

  3. 在Typora中设置自定义命令

  4. 通过Typora上传测试

配置脚本运行环境

Windows

因为我平时python用的多,所以就选择了python作为脚本语言。

python环境配置的过程比较简单,就不多赘述了。

下载地址:Download Python | Python.org

新版Python会自动添加环境变量,不需要单独设置。

编辑脚本

import requests
import sys
​
def upload_image(img_path, token):
​
    #目标URL
    url = "你的api"
​
    # 构建请求参数
    with open(img_path, 'rb') as img_file:
        files = {'image': img_file}
        data = {'token': token}
​
        # 发送POST请求
        response = requests.post(url, files=files, data=data)
​
        # 检查响应状态码
        if response.status_code == 200:
            json_data = response.json()
            return json_data['url']
        else:
            print(f"Upload failed for {img_path} with status code {response.status_code}.")
            return None
​
if __name__ == "__main__":
    img_paths = sys.argv[1:]
    token = "你的token"  # 从实际来源获取token
​
    # 存储成功的上传URL
    success_urls = []
​
    for img_path in img_paths:
        url = upload_image(img_path, token)
        if url:
            success_urls.append(url)
​
    if success_urls:
        print("Upload Success:")
        for url in success_urls:
            print(url)

在Typora中设置自定义命令

image-20241023004903934image-20241023002454986

通过Typora上传测试

image-20241023002712611

image-20241023005958375

总结

完事了,搞定

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息