使用说明

FileServer 文件存储服务 API 文档

快速开始

1
注册账号 并登录系统
2
联系管理员分配角色(新用户默认无角色,无法上传)
3
进入 控制台 → Token 管理 创建 API Token(Key 仅显示一次,请立即保存)
4
使用 Token 通过 API 上传文件,或直接在 首页 上传

接口概览

项目说明
上传接口POST /api/upload/
下载接口GET /api/files/<uuid>/(无需认证)
认证方式Bearer Token(通过 Authorization 请求头传递)
请求格式multipart/form-data
文件大小限制100 MB

认证说明

所有上传请求必须在请求头中携带有效的 API Token:

Authorization: Bearer <your-token-key>

请求参数

参数名类型必填说明
fileFile要上传的文件
expires_inInteger文件过期时间(秒),不传则永不过期

请求示例

cURL

# 上传文件,永不过期 curl -X POST https://m.yewf.vip/api/upload/ \ -H "Authorization: Bearer YOUR_TOKEN_KEY" \ -F "file=@/path/to/file.pdf" # 上传文件,1 小时后过期 curl -X POST https://m.yewf.vip/api/upload/ \ -H "Authorization: Bearer YOUR_TOKEN_KEY" \ -F "file=@/path/to/file.pdf" \ -F "expires_in=3600"

Python

import requests url = "https://m.yewf.vip/api/upload/" headers = {"Authorization": "Bearer YOUR_TOKEN_KEY"} with open("report.pdf", "rb") as f: resp = requests.post(url, headers=headers, files={"file": f}) print(resp.json()) # 带过期时间(1 小时 = 3600 秒) with open("report.pdf", "rb") as f: resp = requests.post( url, headers=headers, files={"file": f}, data={"expires_in": 3600}, ) print(resp.json())

JavaScript

const formData = new FormData(); formData.append("file", fileInput.files[0]); formData.append("expires_in", "86400"); // 可选:1 天后过期 const resp = await fetch("/api/upload/", { method: "POST", headers: { "Authorization": "Bearer YOUR_TOKEN_KEY" }, body: formData, }); const data = await resp.json(); console.log(data.url); // 文件下载地址

成功响应

状态码:201 Created

{ "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "url": "https://m.yewf.vip/api/files/a1b2c3d4-e5f6-7890-abcd-ef1234567890/", "name": "report.pdf", "size": 1048576, "expires_at": "2026-04-21T15:30:00+08:00" }
字段类型说明
idString (UUID)文件唯一标识
urlString文件下载地址,可直接访问
nameString原始文件名
sizeInteger文件大小(字节)
expires_atString / nullISO 8601 格式的过期时间,null 表示永不过期

错误码说明

上传接口

状态码错误信息说明
400未提供文件请求中缺少 file 字段
400expires_in 必须为正整数expires_in 值小于等于 0
400expires_in 格式无效expires_in 不是合法的整数
401无效或缺失的 Token未提供 Token、Token 不存在、已停用或已过期
403你尚未分配角色,无法上传文件用户未被分配角色
403单文件大小超限文件大小超过角色设定的单文件上限
403文件数量已达上限用户文件总数超过角色上限
403总容量超限用户总存储量超过角色容量上限
403上传次数已达上限触发频率限制(每分钟/每小时/每天/每月)
413Token 容量不足该 Token 的存储容量已满或不足

下载接口

状态码错误信息说明
404文件不存在文件 ID 无效或文件已被删除
410文件已过期文件已超过设定的过期时间

常用过期时间参考

时长expires_in 值(秒)
10 分钟600
1 小时3600
12 小时43200
1 天86400
7 天604800
30 天2592000
永不过期不传此参数

注意事项

  • Token 安全:Token Key 创建后仅显示一次,请立即保存。丢失后需创建新 Token。
  • 文件大小:服务器限制单文件最大 100 MB。
  • 角色权限:新注册用户默认没有角色,无法上传文件,需管理员分配角色后方可使用。
  • Token 容量:每个 Token 可设置独立的容量上限,上传时会检查是否超限。
  • 频率限制:根据角色配置,上传频率可能受到每分钟/每小时/每天/每月的限制。
  • 文件过期:过期后文件仍保留在服务器上,但无法下载。管理员会定期清理过期文件。