跳转到主要内容
POST

使用指南

  • 该接口接收 Base64 编码的文件数据,并上传到 Vidgo API 存储
  • 同时支持 Data URL 格式(带 MIME 类型前缀)和纯 Base64 字符串
  • 适合上传应用中已经是 Base64 编码的文件,例如 canvas 绘图或客户端处理过的图片
  • 文件上传后可立即通过返回的 URL 访问,并保留 72 小时

参数详情

  • Base64 数据格式:
    • Data URL 格式:data:image/png;base64,iVBORw0KGgo...(推荐)
    • 纯 Base64 字符串:iVBORw0KGgo...(不带 MIME 类型前缀)
    • Base64 字符串中不能包含任何空白字符、换行符或格式化内容
    • 支持的文件格式:仅 JPEG、PNG、GIF、WebP
    • 上传数量上限:每次请求 1 张图片
  • 存储配置:
    • 所有文件在存储路径中都会自动加上 temp/ 前缀
    • 如果指定 upload_path: "profile-images",实际路径为 temp/profile-images
    • 文件在上传 72 小时后过期并自动删除
  • 文件命名:
    • 如果未提供 file_name,系统会按以下格式生成唯一文件名:{timestamp}_{random}_{extension}
    • 自动生成的文件名示例:20251229130857_a8B9cD2e.png

使用说明

  • 适合使用 Base64 上传的场景:
    • 客户端生成的图片(canvas、截图)
    • 应用中已经是 Base64 编码的图片
    • 可以接受编码开销的中小尺寸图片
  • 不适合使用 Base64 上传的场景:
    • 大尺寸图片文件(Base64 编码会使体积增加约 33%)
    • 存储在磁盘上的文件(改用文件流上传)
    • 可以通过 URL 获取的文件(改用 URL 上传)
  • 确保 Base64 数据格式正确,不包含任何换行或空格
  • 如需持久保存,请在 72 小时过期前将文件下载到本地

速率限制与配额

  • 速率限制:每个 API Key 每分钟 5 次请求
  • 超出速率限制时,会收到 429 Too Many Requests 错误
  • 使用指数退避重试逻辑处理速率限制错误

常见错误场景

  • Base64 编码无效:提供的 Base64 字符串无法解码
  • Data URL 格式无效:Data URL 格式错误(例如缺少 data: 前缀或 ;base64, 分隔符)
  • 不支持的文件类型:解码后的文件不是支持的图片格式(JPEG、PNG、GIF、WebP)
  • 文件数据无效:解码后的数据为空或已损坏
  • 认证错误:Authorization 请求头中的 API Key 缺失或无效

授权

Authorization
string
header
必填

所有 API 接口都需要 Bearer Token 认证

获取 API Key:

进入 仪表盘 → API 密钥(API Key 管理页面)获取你的 API Key

在请求头中添加:

请求体

application/json
base64_data
string
必填

Base64 编码的文件数据。

支持两种格式:

  1. Data URL 格式:data:image/png;base64,iVBORw0KGgo...

  2. 纯 Base64 字符串:iVBORw0KGgo...(不带 MIME 类型前缀)

支持的格式:JPEG、PNG、GIF、WebP

注意:Base64 字符串中不应包含任何空白字符或换行符。

示例:

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="

upload_path
string

自定义存储目录路径。

未指定时,系统会自动对文件分类。

注意:无论指定什么路径,所有文件都会以 temp/ 前缀存储。

示例:

"profile-images"

file_name
string

上传文件的自定义文件名。

未指定时,系统会按以下格式生成唯一文件名:{timestamp}_{random}_{extension}

自动生成的文件名示例:20251229130857_a8B9cD2e.png

示例:

"user-avatar.png"

响应

文件上传成功

success
boolean
必填

上传是否成功

示例:

true

code
integer
必填

HTTP 状态码

示例:

200

msg
string
必填

响应消息

示例:

"File uploaded successfully"

data
object
必填