# 文件上传 API ## 基础信息 | 项目 | 说明 | |------|------| | 基础URL | `http://localhost:8082` | | 上传模式 | local / minio(配置决定) | ## 配置说明 ```yaml # config.yaml upload_mode: "local" # 上传模式:local 或 minio upload_local_path: "resource/files" # 本地存储路径 server_base_url: "http://localhost:8082" # 服务器基础URL # MinIO 配置(upload_mode 为 minio 时需要) minio_endpoint: "localhost:9000" minio_access_key: "your-access-key" minio_secret_key: "your-secret-key" minio_bucket: "x-agents" minio_use_ssl: false ``` ## 接口列表 ### 1. 上传文件 **请求** ``` POST /api/file_upload Content-Type: multipart/form-data ``` | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | file | File | 是 | 要上传的文件 | **响应** ```json { "success": true, "url": "http://localhost:8082/files/abc123.pdf", "fileKey": "abc123", "message": "Upload successful" } ``` **错误响应** ```json { "success": false, "message": "File too large (max 100MB)" } ``` --- ### 2. 删除文件 **请求** ``` DELETE /api/file_upload/:filename ``` | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | filename | String | 是 | 文件名(不含路径) | **响应** ```json { "success": true, "message": "File deleted" } ``` --- ### 3. 访问文件(仅本地模式) 文件上传后,本地模式下可通过以下 URL 直接访问: ``` GET /files/{filename} ``` 例如:`http://localhost:8082/files/abc123.pdf` > 注意:MinIO 模式返回的是预签名 URL,有效期 24 小时。