Image hosting service 图床

1- 手动-本地图片转图床链接

以下是一个详细的操作文档,帮助你一步步完成批量上传本地图片到图床并自动转换链接的任务。

1.1- 操作文档

[!NOTE] 前提条件

  1. 你已经在 Obsidian 中写好了包含本地图片的 Markdown 文件。
  2. 你在系统中已经安装了 Python。如果未安装,可以从 Python 官网下载并安装。

1.1.1- 步骤1:获取图床 API Token

  1. 访问 SM.MS 图床
  2. 注册并登录账号。
  3. 在用户面板中找到 API Token,并记录下来。

1.1.2- 步骤2:准备工作环境

  1. 在你的计算机上创建一个新文件夹,例如 markdown_image_uploader
  2. 将你的 Markdown 文件复制到该文件夹中。

1.1.3- 步骤3:编写并运行 Python 脚本

  1. markdown_image_uploader 文件夹中创建一个新的 Python 文件,例如 upload_images.py

  2. 将以下代码复制并粘贴到 upload_images.py 文件中,并将 your_api_token_here 替换为你从 SM.MS 获取的 API Token:

    import os
    import re
    import requests
    
    # 配置图床 API(这里以 SM.MS 为例)
    SM_MS_API_URL = "https://sm.ms/api/v2/upload"
    SM_MS_API_TOKEN = "your_api_token_here"
    
    def upload_image_to_smms(image_path):
        headers = {"Authorization": SM_MS_API_TOKEN}
        with open(image_path, 'rb') as img:
            response = requests.post(SM_MS_API_URL, headers=headers, files={"smfile": img})
        if response.status_code == 200 and response.json().get('code') == 'success':
            return response.json()['data']['url']
        else:
            print(f"Failed to upload {image_path}: {response.json()}")
            return None
    
    def process_markdown_file(md_file_path):
        with open(md_file_path, 'r', encoding='utf-8') as file:
            content = file.read()
    
        # 找到所有本地图片链接
        image_links = re.findall(r'!\[.*?\]\((.*?)\)', content)
    
        # 批量上传图片并替换链接
        for image_link in image_links:
            if os.path.exists(image_link):
                new_url = upload_image_to_smms(image_link)
                if new_url:
                    content = content.replace(image_link, new_url)
    
        # 保存处理后的 Markdown 文件
        with open(md_file_path, 'w', encoding='utf-8') as file:
            file.write(content)
    
    # 设置要处理的 Markdown 文件路径
    md_file_path = "your_markdown_file.md"  # 将此处替换为你的 Markdown 文件名
    process_markdown_file(md_file_path)
    
  3. 将你的 Markdown 文件名替换代码中的 your_markdown_file.md

1.1.4- 步骤4:安装请求库

  1. 打开终端或命令提示符。
  2. 运行以下命令安装 requests 库:
    pip install requests
    

1.1.5- 步骤5:运行 Python 脚本

  1. 在终端或命令提示符中,导航到 markdown_image_uploader 文件夹:
    cd path/to/markdown_image_uploader
    
  2. 运行脚本:
    python upload_images.py
    

1.1.6- 步骤6:检查和上传处理后的 Markdown 文件

  1. 打开并检查处理后的 Markdown 文件,确保所有图片链接已经替换为图床链接。
  2. 将处理后的 Markdown 文件上传到你的博客或其他平台。

1.2- 额外提示

  • 确保本地图片文件和 Markdown 文件在同一目录或正确的相对路径下,以便脚本能够找到并处理这些图片。
  • 如果有大量图片,上传过程可能需要一些时间,请耐心等待。

2- 插件