Repository navigation
Oss
pollybird edited this page Sep 7, 2026
·
1 revision
官方内置插件 oss_storage,支持阿里云 OSS / 腾讯云 COS / 七牛云 Kodo。默认本地存储、零行为变化:升级后自动启用但不配置凭证不产生任何云端调用。
-
核心抽象层
app/utils/storage.py:定义StorageDriver协议与本地驱动;上传入口save_upload_file()先在本地完成校验/压缩,再发布到当前驱动。 -
云驱动在插件中:SDK 可选依赖、运行时懒加载,未安装时配置页给出
pip install指引。 -
文件归属:
uploaded_files.storage列标记文件存于哪个驱动;切换驱动后历史 URL 不受影响。 - 禁用回退:禁用插件时自动把存储驱动重置为本地。
- 安装对应 SDK:
pip install oss2/cos-python-sdk-v5/qiniu - 云厂商控制台创建 Bucket,使用 RAM 子账号(仅授予目标 Bucket 读写权限)
- 后台 系统设置 → 对象存储 填写凭证并连接测试
配置页提供 dry-run 预览(待传文件数、内容引用链接数)与一键执行:
- 逐文件上传,云端已存在自动跳过(可中断、可重入)
- 上传成功后批量改写内容中的本地链接为云域名
- 本地原文件保留不删;
uploads/demo/不迁移
- 云端上传失败显式报错,不静默回退本地
- 备份恢复文件强制存本地(
storage_scope='local') - 凭证存数据库 settings 表,不写入仓库文件
- 七牛云必须绑定自有 CDN 域名(默认下载域名 30 天过期)