95 lines
2.6 KiB
Markdown
95 lines
2.6 KiB
Markdown
---
|
||
name: tencent-cos-upload
|
||
description: 上传文件到腾讯云COS并生成可直接访问的URL。当需要将本地文件(图片、视频、音频、文档等)上传到腾讯云对象存储,并获取公开可访问链接时使用。触发场景:上传文件到COS、生成文件外链、存储媒体资源、备份文件到云端。
|
||
---
|
||
|
||
# 腾讯云COS文件上传
|
||
|
||
将本地文件上传到腾讯云COS,返回可直接访问的URL。
|
||
|
||
## 前置依赖
|
||
|
||
```bash
|
||
pip3 install cos-python-sdk-v5 --break-system-packages
|
||
```
|
||
|
||
## 使用方式
|
||
|
||
### 方式一:调用脚本(推荐)
|
||
|
||
```bash
|
||
python3 scripts/cos_upload.py <local_file> <cos_key> [--content-type <mime_type>]
|
||
```
|
||
|
||
- `local_file`:本地文件路径
|
||
- `cos_key`:COS上的存储路径(如 `vala_llm/data/image.png`)
|
||
- `--content-type`:可选,MIME类型(如 `image/png`),不指定则自动检测
|
||
|
||
输出一行URL:`https://<domain>/<cos_key>`
|
||
|
||
示例:
|
||
```bash
|
||
python3 scripts/cos_upload.py /tmp/photo.png vala_llm/user_feedback/image/2026-04-10/abc123.png
|
||
# 输出: https://static.valavala.com/vala_llm/user_feedback/image/2026-04-10/abc123.png
|
||
```
|
||
|
||
### 方式二:Python代码引用
|
||
|
||
```python
|
||
import sys
|
||
sys.path.insert(0, '/root/.openclaw/skills/tencent-cos-upload/scripts')
|
||
from cos_upload import CosUploader
|
||
|
||
uploader = CosUploader()
|
||
url = uploader.upload('/tmp/photo.png', 'vala_llm/images/photo.png')
|
||
print(url) # https://static.valavala.com/vala_llm/images/photo.png
|
||
```
|
||
|
||
批量上传:
|
||
```python
|
||
results = uploader.upload_batch([
|
||
('/tmp/a.png', 'path/a.png'),
|
||
('/tmp/b.mp4', 'path/b.mp4'),
|
||
])
|
||
# results = [('path/a.png', 'https://...'), ('path/b.png', 'https://...')]
|
||
```
|
||
|
||
## 配置
|
||
|
||
凭证从工作区 `secrets.md` 的腾讯云COS部分读取,脚本自动加载,**无硬编码密钥**。
|
||
|
||
如需修改配置(换桶、换域名),修改 `secrets.md` 中的腾讯云COS配置项即可,无需修改脚本代码。
|
||
|
||
## COS路径规范
|
||
|
||
建议按 `{业务}/{类型}/{日期}/` 组织:
|
||
```
|
||
vala_llm/
|
||
├── user_feedback/
|
||
│ ├── image/2026-04-10/
|
||
│ ├── video/2026-04-10/
|
||
│ ├── audio/2026-04-10/
|
||
│ └── file/2026-04-10/
|
||
└── asr_audio_backup/
|
||
├── online/20260410/
|
||
└── test/20260410/
|
||
```
|
||
|
||
## 文件名规范
|
||
|
||
- 避免中文,使用纯ASCII字符(字母、数字、短横线、下划线)
|
||
- 推荐格式:`{唯一ID}{扩展名}`,如 `abc123def456.png`
|
||
|
||
## 常见MIME类型
|
||
|
||
| 扩展名 | Content-Type |
|
||
|--------|-------------|
|
||
| .png | image/png |
|
||
| .jpg/.jpeg | image/jpeg |
|
||
| .mp4 | video/mp4 |
|
||
| .mov | video/quicktime |
|
||
| .mp3 | audio/mpeg |
|
||
| .ogg | audio/ogg |
|
||
| .wav | audio/wav |
|
||
| .pdf | application/pdf |
|