支持的存储供应商
• 腾讯云 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}

请求头

参数类型必需描述
AuthorizationstringBearer Token

请求参数

方式一:本地文件上传 (multipart/form-data)

参数类型必需描述
filefileExcel 文件
folderstring文件夹路径前缀,默认 excels/

方式二:远程 URL 下载 (multipart/form-data)

参数类型必需描述
file_urlstringHTTPS URL 地址
folderstring文件夹路径前缀,默认 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_keystring存储中的文件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"
}