Typecho 粘贴自动下载远程附件插件,这是我在 23 年做的一个小玩具。
这是一款专为 Typecho 打造的生产力插件,实现了外链附件的自动识别与下载。当你从 Typora、Markdown 编辑器或其他网站复制内容到 Typecho 编辑器时,插件会自动捕获其中的外链资源,无需手动下载、上传,真正做到粘贴即完成。
如果你也有这样的写作习惯:
- 在 Typora 或其他 Markdown 编辑器中撰写文章
- 文章中插入了大量图片或附件
- 复制到 Typecho 后,需要逐个下载外链图片,再重新上传
这个繁琐的流程,极大地打击了写作的热情。
我曾尝试过 PicGo 等工具,但 Typecho 的上传 API 抽离非常复杂,比如需要手动判断 cid 字段,而在编辑器中写作时,我们根本无法预知未自增的 cid 是多少。
我也发现了 AutoSaveImage 插件,但它存在以下问题:
- 破坏目录结构 —— 自己创建目录,无法保持 Typecho 原有的
年-月格式 - 无法写入数据库 —— 下载的文件无法在后台管理,像孤儿一样存在
- 无法兼容其他插件 —— 直接使用
curl下载,无法配合 COS、OSS 等插件工作 - 只支持图片 —— 无法下载其他类型的附件
于是,RemoteDownload 诞生了。它的核心思路是:模拟 Typecho 原生的上传流程,让下载的附件与手动上传的文件享受同等待遇。
- ✅ 智能识别外链 —— 粘贴内容时自动检测外链资源,立即下载
- ✅ 保留本地链接 —— 已经上传的本地链接不做任何处理
- ✅ 完美融入 Typecho —— 调用原生上传逻辑,保持目录结构、数据库记录
- ✅ 兼容其他插件 —— 支持 COS、OSS、水印等插件的 Hook 机制
- ✅ 支持多种文件类型 —— 不仅限于图片,只要能 Base64 编码的附件都能下载
- ✅ 可配置 Ctrl 键触发 —— 可选择按住 Ctrl 键才启用粘贴下载功能
- 自动压缩 —— 如果外链来源已经过压缩处理,相当于自带压缩功能
- 自动水印 —— 如果外链已经添加水印,省去了本地水印插件的步骤
- 跨平台迁移 —— 从 CSDN、掘金等平台迁移文章时,自动转存所有图片
- 统一管理 —— 所有下载的附件都记录在数据库中,便于后台管理和删除
- 下载本插件的压缩包
- 解压后将
RemoteDownload文件夹上传到/usr/plugins/目录 - 在 Typecho 后台「控制台 → 插件」中启用插件
cd /path/to/typecho/usr/plugins
git clone https://github.com/dyedd/RemoteDownload.git然后在 Typecho 后台启用插件。
插件启用后,进入插件配置页面,你可以看到以下选项:
| 配置项 | 说明 | 默认值 |
|---|---|---|
| Ctrl 附加键设置 | 是否需要按住 Ctrl 键才触发粘贴下载 | 禁用 |
| 处理的文件类型 | 允许下载的文件扩展名,用 | 分隔 |
jpg|png|gif|bmp|jpeg |
- 在 Typora 或其他编辑器中复制包含外链图片的 Markdown 内容
- 粘贴到 Typecho 编辑器中
- 插件自动识别外链并下载,无需任何手动操作
- 下载完成后,附件会出现在右侧的「附件管理」列表中
- 只处理外链资源,本地链接不会重复下载
- 下载的附件会写入数据库,可在后台删除管理
- 支持自定义文件类型,但需要确保 Typecho 支持该类型
- 如果外链资源无法访问,不会影响文章保存
感谢所有使用和反馈的用户,让这个插件不断完善。
如果你觉得这个插件有用,欢迎 Star ⭐️ 支持!

