对于博客作者、开发者或任何经常需要处理图片的人来说,图床是绕不开的工具。兰空图床(Lsky Pro)凭借其强大的功能和现代化的界面,成为了许多自建图床用户的首选。
但是,传统的'打开浏览器 -> 登录 -> 拖拽上传 -> 点击复制链接'的流程在需要频繁插入图片时显得格外繁琐,严重打断写作或开发的思路。
今天,我将分享一个简单的 Python 脚本,它能彻底改变你的图片上传体验。
核心功能:快,准,狠
这个脚本旨在实现一个目标:以最快速度将本地图片转换为可用的网络链接。
它具备以下核心特性:
- 完全脱离浏览器:直接在终端(命令行)通过一条命令完成上传。
- 基于文件名传参:无需复杂的配置,只需告诉脚本你要传哪个文件。
- 自动复制到剪切板:这是灵魂功能!上传成功后,图片 URL 会自动进入你的系统剪切板,你只需在 Markdown 编辑器里按下
Ctrl+V (或 Cmd+V) 即可。
- 安全鉴权:使用 Lsky Pro V2 标准的 API Token 进行验证,无需暴露账号密码。
准备工作
在使用脚本之前,请确保你满足以下条件:
- Python 环境:已安装 Python 3.x。
- 兰空图床账号:你拥有一个 Lsky Pro (V2 版本) 的使用权限。
- API Token:在图床后台获取了有效的 API 令牌(通常在'个人中心' -> '令牌管理'中生成)。
第一步:安装依赖
这个脚本依赖两个强大的 Python 库:
requests: 用于发送 HTTP 上传请求。
pyperclip: 用于操作系统剪切板。
打开你的终端或命令提示符,运行以下命令安装它们:
pip install requests pyperclip
(注:Linux 用户如果发现剪切板功能失效,可能需要额外安装 xclip 或 xsel,例如:sudo apt-get install xclip)
第二步:获取并配置脚本
新建一个文本文件,命名为 upload.py(或者你喜欢的任何名字),然后将下方的代码粘贴进去。
⚠️ 重要配置: 在保存之前,你必须修改代码顶部的 配置区,填入你自己的图床信息。
import requests
import sys
import os
import pyperclip
API_URL = "https://your-domain.com/api/v1/upload"
TOKEN = "your_auth_token_here"
def upload_to_lsky(file_path):
if not os.path.isfile(file_path):
print(f"❌ 错误:找不到文件 '{file_path}'")
return
print(f"正在上传:{os.path.basename(file_path)} ...")
headers = {
'Authorization': f'Bearer {TOKEN}',
'Accept': 'application/json',
'User-Agent': 'Mozilla/5.0 (Python Lsky Uploader)'
}
try:
with open(file_path, 'rb') as f:
files = {'file': (os.path.basename(file_path), f)}
response = requests.post(API_URL, headers=headers, files=files, timeout=30)
if response.status_code == 200:
res_data = response.json()
if res_data.get('status'):
img_url = res_data['data']['links']['url']
pyperclip.copy(img_url)
print(f"✅ 上传成功!")
print(f"🔗 URL: {img_url}")
print("📋 状态:链接已自动复制到剪切板,直接粘贴即可!")
else:
print(f"❌ 上传失败 (API 拒绝): {res_data.get('message')}")
elif response.status_code == 401:
print("❌ 认证失败:Token 无效或已过期,请检查配置。")
else:
print(f"❌ 网络请求失败 | HTTP 状态码:{response.status_code}")
except Exception as e:
print(f"❌ 程序运行异常:{str(e)}")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("使用方法错误。")
print("正确用法:python upload.py <本地图片路径>")
print("示例:python upload.py screenshot.png")
else:
target_file = sys.argv[1]
upload_to_lsky(target_file)
第三步:享受极速体验
配置完成后,保存文件。现在你可以体验飞一般的上传速度了。
打开终端,进入 upload.py 所在的目录。
场景 1:上传当前目录下的图片
假设你有一个 demo.jpg 在当前目录下:
python upload.py demo.jpg
场景 2:上传其他目录的图片
你也可以使用绝对路径或相对路径:
python upload.py /path/to/截图.png
神奇时刻:
执行命令几秒后,你将看到如下输出:
正在上传:demo.jpg ...
✅ 上传成功!
🔗 URL: https://your-domain.com/i/2023/10/27/653a1b2c3d4e5.jpg
📋 状态:链接已自动复制到剪切板,直接粘贴即可!
此时,无需任何额外操作,直接回到你的 Markdown 编辑器中按下粘贴键,图片链接就出现在那里了。
继续优化:使用 alias 命令
为方便更好地复制,可以使用 alias 直接执行命令,任意地方即可上传图片。可在 .zshrc 或 .bashrc 中添加,注意路径更改为自己实际的全路径。
alias upload_lsky="python /path/to/upload.py"
如下任意位置执行 upload_lsky 命令,即可快捷上传图片了。
结语
通过这个不到 80 行的 Python 脚本,我们成功地将一个繁琐的图床交互过程简化为了一行命令。这不仅节省了时间,更保持了工作心流的连贯性。相比使用本地图片上传软件,也更加方便快捷。
如果你是 Typora 用户,甚至可以将此脚本配置为 Typora 的自定义上传服务,实现真正的'复制图片 -> 粘贴到 Typora -> 自动上传'的无缝体验。
快去试试吧,让你的写作效率起飞!