🖼️ 图床
基于 GitHub + jsDelivr 的个人图床工具。
功能特性
- ✅ GitHub 仓库存储
- ✅ jsDelivr CDN 加速
- ✅ 拖拽上传
- ✅ 剪贴板粘贴
- ✅ 上传历史管理
- ✅ 从仓库同步
使用方法
配置 GitHub
前置要求:
- GitHub 账号
- 创建一个公开仓库用于存储图片
- 生成 Personal Access Token(需要 repo 权限)
配置步骤:
- 打开图床工具
- 输入 GitHub 用户名
- 输入仓库名称(如:
images) - 输入分支名(如:
main) - 输入 Personal Access Token
- 设置存储路径(如:
images) - 点击验证配置
- 保存配置
上传图片
方式 1:拖拽上传
- 打开图床工具
- 拖拽图片到上传区域
- 等待上传完成
- 自动复制链接
方式 2:粘贴上传
- 复制图片到剪贴板
- 打开图床工具
- 按
Cmd/Ctrl+V粘贴 - 自动上传
方式 3:选择文件
- 点击「选择图片」
- 选择图片文件
- 上传
获取链接
上传成功后可以获取:
- 直接链接:原始图片 URL
- Markdown:
格式 - HTML:
<img src="url">格式 - BBCode:
[img]url[/img]格式
jsDelivr CDN
CDN 加速
上传的图片通过 jsDelivr CDN 访问:
https://cdn.jsdelivr.net/gh/用户名/仓库@分支/路径/图片.jpg优势:
- 全球 CDN 加速
- 无流量限制
- 永久有效
- 访问速度快
版本控制
使用分支作为版本:
@main:最新版本@v1.0.0:特定标签
图片管理
历史记录
查看上传历史:
- 图片缩略图
- 上传时间
- 文件名
- CDN 链接
快速操作
- 复制链接(多种格式)
- 删除图片
- 重命名图片
- 在浏览器中打开
从仓库同步
如果手动在 GitHub 上传了图片:
- 点击「从仓库同步」
- 自动获取仓库中的图片
- 合并到本地历史
批量管理
- 批量复制链接
- 批量删除图片
- 导出上传记录
高级功能
图片重命名
上传后可以重命名:
- 找到图片记录
- 点击「重命名」
- 输入新文件名
- 保存
自动命名
配置自动命名规则:
- 时间戳:
2024-01-01_12-00-00.png - 随机字符串:
a1b2c3d4.png - 原文件名+后缀
路径组织
组织图片存储路径:
- 按日期:
2024/01/01/ - 按类型:
screenshots/ - 按项目:
project-a/
配置选项
基本配置
| 配置项 | 说明 | 示例 |
|---|---|---|
| GitHub 用户名 | 你的 GitHub 用户名 | zhangsan |
| 仓库名 | 存储图片的仓库名 | images |
| 分支 | 分支名称 | main |
| Token | Personal Access Token | ghp_xxxx |
| 存储路径 | 仓库中的目录 | images |
高级配置
- 自动重命名规则
- 默认链接格式
- 历史记录数量
- 自动复制选项
快捷键
| 快捷键 | 功能 |
|---|---|
Cmd/Ctrl+V | 粘贴上传 |
Cmd/Ctrl+U | 选择文件上传 |
Cmd/Ctrl+C | 复制链接 |
Delete | 删除图片 |
使用场景
博客写作
- Markdown 博客配图
- 快速获取 Markdown 链接
- CDN 加速访问
文档编写
- 技术文档配图
- 截图分享
- 问题反馈配图
社交媒体
- 图片分享
- 获取永久链接
- 快速访问
隐私说明
公开访问
- GitHub 仓库必须公开
- 上传的图片公开可访问
- 不要上传敏感图片
Token 安全
- Token 本地加密存储
- 不会上传到服务器
- 定期更换 Token
常见问题
Q: 上传失败?
A:
- 检查 Token 是否有效
- 确认仓库存在且为公开
- 检查分支名称是否正确
- 验证网络连接
Q: 图片加载慢?
A:
- jsDelivr 在国内可能较慢
- 等待 CDN 缓存生效
- 使用代理加速
Q: 仓库满了怎么办?
A:
- GitHub 单仓库 1GB 软限制
- 删除不需要的图片
- 创建新仓库继续使用
Q: 如何迁移图片?
A:
- 使用「从仓库同步」功能
- 或手动下载后重新上传
技术细节
上传流程
选择图片
↓
Base64 编码
↓
调用 GitHub API
↓
上传到仓库
↓
生成 jsDelivr CDN 链接
↓
保存到历史记录API 调用
使用 GitHub Contents API:
PUT /repos/{owner}/{repo}/contents/{path}数据存储
本地存储位置:~/.ltools/imagebed/
- 配置文件:
config.json - 历史记录:
history.json
最佳实践
文件命名
- 使用有意义的文件名
- 避免特殊字符
- 统一命名规范
路径组织
- 按日期或项目分类
- 保持目录结构清晰
- 便于管理和查找
Token 管理
- 定期更新 Token
- 使用最小必要权限
- 妥善保管 Token
限制说明
- GitHub API 限制:5000 次/小时
- 单文件大小:100 MB
- 仓库大小建议:< 1 GB
- 图片格式:支持所有常见格式