npm.io
2.0.2 • Published yesterday

picgo-plugin-p-sda1-uploader

Licence
MIT
Version
2.0.2
Deps
0
Size
23 kB
Vulns
0
Weekly
0

PicGo Plugin - p-sda1-uploader

npm version license

PicGo 插件,用于将图片上传到流浪图床 (p.sda1.dev) 服务。

特性

  • 并发上传 - 支持多张图片同时上传,默认并发上限 3
  • 智能重试 - 自动重试可恢复错误(网络异常/超时/5xx/429),最多重试 3 次
  • 详细统计 - 提供完整的上传成功/失败统计信息
  • 安全验证 - 文件大小、类型(魔数/MIME)与返回 URL 校验
  • 完整日志 - 详细的上传过程日志,便于问题排查
  • 高性能 - 有限并发与失败隔离,避免批量上传互相拖垮

安装

通过 PicGo GUI 安装
  1. 打开 PicGo 应用
  2. 进入「插件设置」
  3. 搜索 p-sda1-uploader
  4. 点击安装
通过命令行安装
# 全局安装 PicGo
npm install picgo -g

# 安装插件
picgo install p-sda1-uploader

使用方法

  1. 安装插件后,在 PicGo 的「图床设置」中选择「流浪图床」
  2. 无需额外配置,直接使用
  3. 上传图片时会自动使用 p.sda1.dev 服务

支持的文件格式

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • GIF (.gif)
  • WebP (.webp)

文件限制

  • 最大文件大小:5MB
  • 超时时间:30秒
  • 最大重试次数:3次(仅可恢复错误)
  • 并发上限:3

配置选项

当前版本无需额外配置,插件会使用默认设置:

  • API 地址: https://p.sda1.dev/api/v1/upload_external_noform
  • 超时时间: 30秒
  • 并发上限: 3
  • 重试次数: 3次(仅可恢复错误)
  • 文件大小限制: 5MB

更新日志

v2.0.2
  • 按 PicGo SHOULD 规范对齐 uploader 契约
  • keywords 增加 picgo-plugin / picgo-gui-plugin,导出声明 uploader id
  • 成功时同步写入 img.url,并清理 buffer / base64Image
  • 部分失败时从 ctx.output 移除失败项,避免空链接
  • 全失败/部分失败通过 GUI notification 提示
v2.0.1
  • 修复 CI:移除 main 推送自动升版发布,避免发版环路
  • 增强校验:魔数类型识别、空文件拒绝、返回 URL https/主机校验
  • 智能重试:仅对 429/5xx/超时/网络错误重试
  • 有限并发:默认并发上限 3
  • 净化 filename,正确处理 data URL / URL-safe base64
  • 统一版本号、User-Agent、文档与实现
v2.0.0 (2025-01-10)
  • 重大更新: 完全重构代码架构
  • 新增并发上传支持
  • 新增智能重试机制
  • 新增文件验证功能
  • 新增详细的上传统计
  • 修复部分上传失败导致全部中断的问题
  • 优化错误处理和日志输出
  • 完善文档和注释
v1.0.10
  • 基础上传功能
  • 简单错误处理

贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

相关链接

常见问题

Q: 上传失败怎么办?

A: 插件会自动重试可恢复错误(最多 3 次)。如果仍然失败,请检查:

  • 网络连接是否正常
  • 图片文件是否符合格式和大小要求(JPEG/PNG/GIF/WebP,最大 5MB)
  • p.sda1.dev 服务是否正常
Q: 支持哪些图片格式?

A: 支持 JPEG、PNG、GIF、WebP 格式,最大 5MB。会通过文件头魔数识别类型。

Q: 可以批量上传吗?

A: 是的,插件支持并发批量上传,默认同时处理最多 3 张图片。

问题反馈

如果遇到问题,请在 GitHub Issues 中反馈,并提供:

  • PicGo 版本
  • 插件版本
  • 错误日志
  • 复现步骤

Keywords