文件上传
XYGo Admin 2025-02-20 76 次阅读
多云存储驱动与文件上传配置
文件上传
存储驱动
项目支持 4 种存储驱动,通过 sys_config 表的 oss 分组配置:
| 驱动 | 说明 |
|---|---|
| local | 本地存储(默认) |
| aliyun_oss | 阿里云 OSS |
| tencent_cos | 腾讯云 COS |
| qiniu | 七牛云存储 |
配置方式
在后台「系统配置」中设置上传参数:
- 存储驱动:选择使用哪种存储
- 最大文件大小:支持 kb/mb/gb 单位,如
10mb - 允许的文件后缀:如
jpg,png,gif,pdf,doc,xlsx - 允许的 MIME 类型:如
image/*,application/pdf
云存储配置
以阿里云 OSS 为例:
- AccessKey ID
- AccessKey Secret
- Bucket 名称
- Endpoint(如
oss-cn-hangzhou.aliyuncs.com) - 自定义域名(可选)
上传接口
POST /admin/upload/file
Content-Type: multipart/form-data
参数:file(文件)
响应:
{
"code": 0,
"data": {
"url": "https://xxx.com/uploads/2025/01/abc.jpg",
"name": "abc.jpg",
"size": 102400
}
}
前端调用
typescript
// 使用 ArtImageUpload 组件
<ArtImageUpload v-model="formData.cover" :limit="1" />
// 手动上传
const formData = new FormData()
formData.append('file', file)
const res = await adminRequest.post({
url: '/upload/file',
params: formData,
headers: { 'Content-Type': 'multipart/form-data' }
})
附件管理
所有上传的文件会记录到 sys_attachment 表,可在后台「附件管理」中查看、搜索、删除。支持按文件类型筛选:图片、文档、音频、视频、压缩包等。