self-media-james/.claude/commands/upload-qiniu.md
邓文兵 fdf5cc278f feat(article): 更新文章内容并集成CDN图片上传功能
- 将文章中的本地图片路径替换为CDN链接
- 修改文章引子部分,更新案例描述和内容细节
- 添加即梦AI图片生成命令配置文件
- 添加七牛云OSS上传命令配置文件和上传脚本
- 创建七牛云存储凭证文档
- 更新OpenClaw相关内容和图片引用链接
2026-03-10 18:00:32 +08:00

100 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 七牛云 OSS 上传
将本地文件上传到七牛云 CDN 存储。
## 使用方式
用户会提供:
1. **file_path**:要上传的本地文件路径(支持单个文件或目录)
2. **prefix**OSS 存储路径前缀(可选,默认 `self-media/`
## 执行步骤
1. 激活项目虚拟环境:`source .venv/bin/activate`
2. 使用七牛 Python SDK 上传文件
3. 返回 CDN 访问链接
## 单文件上传
```bash
source .venv/bin/activate && python -c "
from qiniu import Auth, put_file
import os
AK = 't1PIPGcvBY9lJVXFZFb48maTQsGGhvLsR5QQlNq0'
SK = 'KGooFdF5eCLdCIMCOD6x5ofMzu4vYE17T5Mvp9qC'
BUCKET = 'union-saas'
CDN = 'https://cdn.union.jxyunge.com'
local_path = '本地文件路径'
key = 'self-media/远程存储路径'
q = Auth(AK, SK)
token = q.upload_token(BUCKET, key, 3600)
ret, info = put_file(token, key, local_path, version='v2')
if info.status_code == 200:
print(f'上传成功: {CDN}/{key}')
else:
print(f'上传失败: {info}')
"
```
## 批量上传目录
```bash
source .venv/bin/activate && python scripts/upload_qiniu.py
```
脚本 `scripts/upload_qiniu.py` 会上传 `articles/001/images/` 下所有 PNG 文件。
## 自定义批量上传
```bash
source .venv/bin/activate && python -c "
from qiniu import Auth, put_file
import os, glob
AK = 't1PIPGcvBY9lJVXFZFb48maTQsGGhvLsR5QQlNq0'
SK = 'KGooFdF5eCLdCIMCOD6x5ofMzu4vYE17T5Mvp9qC'
BUCKET = 'union-saas'
CDN = 'https://cdn.union.jxyunge.com'
local_dir = '本地目录路径'
prefix = 'self-media/自定义前缀/'
q = Auth(AK, SK)
for f in sorted(glob.glob(os.path.join(local_dir, '*'))):
name = os.path.basename(f)
key = prefix + name
token = q.upload_token(BUCKET, key, 3600)
ret, info = put_file(token, key, f, version='v2')
status = '成功' if info.status_code == 200 else '失败'
print(f'[{status}] {name} -> {CDN}/{key}')
"
```
## 在 Markdown 中替换图片链接
上传后,将文章中的本地图片路径替换为 CDN 链接:
- 本地路径格式:`![alt](本地路径/xxx.png)`
- CDN 链接格式:`![alt](https://cdn.union.jxyunge.com/self-media/xxx.png)`
## 七牛凭证
| 配置项 | 值 |
|--------|------|
| 上传地址 | `https://up-z0.qiniup.com` |
| AK | `t1PIPGcvBY9lJVXFZFb48maTQsGGhvLsR5QQlNq0` |
| SK | `KGooFdF5eCLdCIMCOD6x5ofMzu4vYE17T5Mvp9qC` |
| CDN 域名 | `https://cdn.union.jxyunge.com` |
| 空间名 | `union-saas` |
## 注意事项
- 虚拟环境 `.venv/` 已安装 `qiniu` SDK
- 上传同名文件会覆盖
- CDN 链接格式:`https://cdn.union.jxyunge.com/{key}`
$ARGUMENTS