文件上传

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 表,可在后台「附件管理」中查看、搜索、删除。支持按文件类型筛选:图片、文档、音频、视频、压缩包等。