Baidu Pan Upload

百度网盘文件上传,支持分片上传、断点续传和进度监控。触发词:百度网盘上传、baidu pan upload、上传文件到网盘、upload to baidu pan、断点续传。适用场景:(1)上传本地文件到百度网盘指定目录 (2)大文件自动分片上传 (>4MB) (3)中断后断点续传 (4)自动创建远程目录。

Audits

Pass

Install

openclaw skills install baidu-pan-upload-skill

百度网盘文件上传

前提

已有百度网盘开放平台授权(access_token有效),.env文件含AccessToken、AppKey、SecretKey。

先用 baidu-pan-per-auth-skill 完成授权获取token。

上传文件

python3 scripts/upload.py <local_file> <remote_dir> <env_path> [--overwrite]

参数

参数说明
local_file本地文件路径
remote_dir网盘远程目录(如 /docker镜像/备份
env_path.env文件路径(含AccessToken等凭据)
--overwrite覆盖同名文件(默认不覆盖)

上传流程

所有文件统一走 precreate → superfile2(tmpfile) × N → create 流程:

  • ≤4MB → 1片快速上传
  • >4MB → 自动分片(每片4MB),计算每片MD5校验

断点续传

上传中断后,重新运行相同命令即可自动续传:

  1. 上传状态自动保存在源文件同目录下的 .upload_state.json
  2. 重启时检测:文件MD5未变 → 跳过已上传分片 → 从断点继续
  3. Ctrl+C 安全中断,状态自动保存
  4. 上传完成后自动删除状态文件

进度监控

大文件上传时实时显示:

  [████████████░░░░░░░░] 60.0% | 1.1GB/1.9GB | 3.2MB/s | ETA 4m12s

示例

# 上传单个文件
python3 scripts/upload.py /tmp/report.pdf "/文档" /path/to/.env

# 上传大文件(自动分片+进度监控+断点续传)
python3 scripts/upload.py /backup/data.zip "/备份" /path/to/.env

# 覆盖已有文件
python3 scripts/upload.py /tmp/config.json "/配置" /path/to/.env --overwrite

# 中断后续传(重新运行相同命令即可)
python3 scripts/upload.py /backup/data.zip "/备份" /path/to/.env

关键参数

参数说明
分片大小4MB百度网盘API限制
上传域名d.pcs.baidu.com分片上传专用域名
重试次数3每个分片失败后重试
远程路径格式/开头/docker镜像
状态文件.upload_state.json保存在源文件同目录

故障排查

错误原因解决
errno: 2路径格式错误确保以 / 开头
error_code: 31023token过期或uploadid过期baidu-pan-per-auth-skill 刷新token
error_code: 31064文件已存在--overwrite 覆盖
SSL/超时网络波动自动重试3次
上传中断Ctrl+C或网络断开重新运行相同命令,自动断点续传
续传失败源文件已变更删除 .upload_state.json 重新上传

依赖

  • curl(系统自带)
  • Python 3.7+
  • 有效的百度网盘access_token