41 lines
1.9 KiB
Go
41 lines
1.9 KiB
Go
package v1
|
||
|
||
import (
|
||
"github.com/gogf/gf/v2/net/ghttp"
|
||
"github.com/gogf/gf/v2/util/gmeta"
|
||
)
|
||
|
||
// ============================== 文件上传模块(存储根目录见 file.uploadDir) ==============================
|
||
|
||
// UploadFileReq 上传文件请求
|
||
// 以 multipart 表单方式提交单个文件
|
||
type UploadFileReq struct {
|
||
gmeta.Meta `method:"post" path:"/api/upload/uploadFile" summary:"上传文件" permission:"sys:upload:file" log:"文件上传-上传文件" logType:"add"`
|
||
File *ghttp.UploadFile `p:"file" v:"required#请选择文件" dc:"上传文件"` // 上传文件
|
||
Type string `json:"type" dc:"类型:images/files/video(前端约定,可空)"` // 文件类型
|
||
}
|
||
|
||
// UploadFileRes 上传文件结果
|
||
// 供前端编辑器、上传组件使用的文件信息
|
||
type UploadFileRes struct {
|
||
OriginalName string `json:"originalName"` // 原始文件名
|
||
FileExtension string `json:"fileExtension"` // 扩展名
|
||
FileType string `json:"fileType"` // MIME 类型
|
||
FileSize int64 `json:"fileSize"` // 文件大小(字节)
|
||
FileName string `json:"fileName"` // 存储文件名(basename,如 32位随机.png)
|
||
FilePath string `json:"filePath"` // 相对 uploadDir 的路径(入库形态)
|
||
FileUrl string `json:"fileUrl"` // 文件访问地址
|
||
}
|
||
|
||
// UploadFilesReq 批量上传文件请求
|
||
// 以 multipart 表单方式提交多个文件
|
||
type UploadFilesReq struct {
|
||
gmeta.Meta `method:"post" path:"/api/upload/uploadFiles" summary:"批量上传文件" permission:"sys:upload:files" log:"文件上传-批量上传" logType:"add"`
|
||
Files []*ghttp.UploadFile `p:"files" v:"required#请选择文件" dc:"上传文件列表"` // 上传文件列表
|
||
}
|
||
|
||
// UploadFilesRes 批量上传文件结果
|
||
type UploadFilesRes struct {
|
||
List []UploadFileRes `json:"list"` // 上传文件列表
|
||
}
|