picgo-plugin-upyun-sync-delete
September 13, 2026 · View on GitHub
在 PicGo 相册中删除图片时,同步删除又拍云上的对应云端文件。
Sync-delete the corresponding files on UpYun (又拍云) when images are removed from the PicGo album.
功能 / Features
- 监听 PicGo GUI 相册的
remove事件(官方 GUI 插件 API) - 自动识别又拍云图床(
type === 'upyun')上传的图片,删除相册记录的同时调用又拍云 REST API 删除云端文件 - 凭据直接复用 PicGo 已配置的又拍云图床(bucket / operator / password / url),无需重复填写
- 批量删除采用 3 路并发;网络类失败自动重试 1 次
- 云端文件不存在(404)时静默跳过
- 删除失败时弹出系统通知,并写入日志便于手动清理
原理 / How it works
-
PicGo GUI 在相册删除确认后触发
remove事件,插件收到被删除图片的信息数组(fileName、imgUrl、type等) -
从
imgUrl推导云端文件路径(与内置又拍云 uploader 的 URL 编码规则一致,如/2026/09/xxx.png) -
调用又拍云 REST API:
DELETE https://v0.api.upyun.com/<bucket>/<path> Authorization: UPYUN <operator>:<sign> Date: <GMT 时间>签名算法与 PicGo 内置又拍云 uploader 相同:
sign = base64(HMAC-SHA1(md5(password), "DELETE&/<bucket>/<uri>&<date>"))
安装 / Install
PicGo GUI → 插件设置 → 搜索 upyun 安装;或离线安装(导入本地插件)选择本目录。
Install from PicGo GUI plugin market by searching upyun, or import this folder as a local plugin.
配置 / Config
| 配置项 | 默认 | 说明 |
|---|---|---|
| 相册删除时同步删除又拍云文件 | 开启 | 关闭后仅删除相册记录,不影响云端 |
| 匹配策略 / Match mode | strict | strict: 仅处理又拍云图床上传的图片(推荐);loose: 额外按访问域名前缀匹配 imgUrl(兼容第三方又拍云上传插件、手动导入的旧记录) |
日志 / Log
日志文件位于 PicGo 数据目录:upyun-sync-delete.log(超过 1MB 自动轮转为 .log.1)
[OK]删除成功 / deleted[SKIP-404]云端文件本已不存在,跳过 / not found on UpYun, skipped[FAIL]删除失败(附失败原因,文件可凭 URL 在又拍云控制台手动清理)/ failed with reason[WARN]/[ERROR]配置缺失或内部异常 / missing config or internal error
注意事项 / Notes
- PicGo 触发
remove事件时本地相册记录已被移除(官方行为),因此云端删除失败无法回滚,仅通过通知与日志提示 strict模式只处理type === 'upyun'的相册记录,其他图床的上传记录不受影响- 批量删除按 3 路并发依次完成
- 本插件依赖 PicGo GUI 的相册删除事件(
remove),仅 PicGo GUI 可用;PicGo CLI 无相册功能