支持的存储供应商
• 腾讯云 COS (Tencent Cloud Object Storage)
• 火山引擎 TOS (Volcano Engine Tinder Object Storage)
• 腾讯云 COS (Tencent Cloud Object Storage)
• 火山引擎 TOS (Volcano Engine Tinder Object Storage)
GET
/health
健康检查
检查服务是否正常运行,返回当前配置的存储供应商信息
响应示例
200 OK
{
"status": "ok",
"message": "服务运行正常",
"storage_provider": "cos"
}
cURL 示例
cURL
curl -X GET "https://ybw.file.ccoe.vip/health" \ -H "Authorization: Bearer bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c"
Python 示例
Python
import requests
BASE_URL = "https://ybw.file.ccoe.vip"
TOKEN = "bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c"
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
response = requests.get(f"{BASE_URL}/health", headers=HEADERS)
print(response.json())
# {'status': 'ok', 'message': '服务运行正常', 'storage_provider': 'cos'}
POST
/upload/excel
上传 Excel 文件
上传 Excel 文件到对象存储。支持本地文件上传或通过 HTTPS URL 下载文件后上传。
限制说明
- 支持格式: .xlsx, .xls
- 文件大小: 最大 10MB
- 文件名处理: 保留中文字符,自动添加时间戳和 UUID
- 存储路径: {folder}/{YYYY}/{MM}/{filename}
请求头
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | Bearer Token |
请求参数
方式一:本地文件上传 (multipart/form-data)
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| file | file | 是 | Excel 文件 |
| folder | string | 否 | 文件夹路径前缀,默认 excels/ |
方式二:远程 URL 下载 (multipart/form-data)
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| file_url | string | 是 | HTTPS URL 地址 |
| folder | string | 否 | 文件夹路径前缀,默认 excels/ |
cURL 示例
上传本地文件
curl -X POST "https://ybw.file.ccoe.vip/upload/excel" \ -H "Authorization: Bearer bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c" \ -F "file=@example.xlsx" \ -F "folder=excels/"
通过 URL 下载
curl -X POST "https://ybw.file.ccoe.vip/upload/excel" \ -H "Authorization: Bearer bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c" \ -F "file_url=https://example.com/data.xlsx" \ -F "folder=excels/imports/"
Python 示例
Python
import requests
BASE_URL = "https://ybw.file.ccoe.vip"
HEADERS = {"Authorization": "Bearer bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c"}
# 方式一:上传本地文件
with open("example.xlsx", "rb") as f:
files = {"file": f}
data = {"folder": "excels/"}
response = requests.post(
f"{BASE_URL}/upload/excel",
headers=HEADERS,
files=files,
data=data
)
result = response.json()
print(f"上传成功: {result['file_url']}")
print(f"存储路径: {result['file_key']}")
# 方式二:通过 URL 下载并上传
data = {
"file_url": "https://example.com/template.xlsx",
"folder": "excels/templates/"
}
response = requests.post(
f"{BASE_URL}/upload/excel",
headers=HEADERS,
data=data
)
响应示例
200 OK (COS)
{
"success": true,
"message": "文件上传成功",
"file_url": "https://bucket.cos.ap-guangzhou.myqcloud.com/excels/2024/02/example_20240226_101530_a1b2c3d4.xlsx",
"file_name": "example.xlsx",
"file_key": "excels/2024/02/example_20240226_101530_a1b2c3d4.xlsx",
"file_size": 10240,
"etag": "\"abc123def456\"",
"storage_provider": "cos"
}
POST
/delete/file
删除文件
删除对象存储上的文件。删除前会验证文件是否存在。
请求参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| file_key | string | 是 | 存储中的文件key(完整路径) |
cURL 示例
cURL
curl -X POST "https://ybw.file.ccoe.vip/delete/file" \
-H "Authorization: Bearer bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c" \
-H "Content-Type: application/json" \
-d '{"file_key": "excels/2024/02/example_20240226_101530_a1b2c3d4.xlsx"}'
Python 示例
Python
import requests
BASE_URL = "https://ybw.file.ccoe.vip"
HEADERS = {
"Authorization": "Bearer bacf73f40ddb6d50b3e9d46c7228c202163e144c68c31977ec8507f0bc27779c"
}
response = requests.post(
f"{BASE_URL}/delete/file",
headers={**HEADERS, "Content-Type": "application/json"},
json={"file_key": "excels/2024/02/example_20240226_101530_a1b2c3d4.xlsx"}
)
result = response.json()
print(f"删除结果: {result['message']}")
响应示例
200 OK
{
"success": true,
"message": "文件删除成功",
"storage_provider": "cos"
}