This commit is contained in:
2026-10-27 22:48:36 +08:00
parent cf832f0962
commit 1231251ea4
13 changed files with 946 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
package model
import "portal-mini-go/internal/pkg/types"
// File 记录一次上传文件的元数据;实际内容由 StorageKey 指向具体存储实现(本地/对象存储)。
type File struct {
ID uint64 `gorm:"primaryKey;autoIncrement" json:"id"`
StorageKey string `gorm:"type:varchar(255);index" json:"storage_key"` // 如 2006/01/02/<rand>.ext
Filename string `gorm:"type:varchar(255)" json:"filename"` // 落盘文件名(含扩展名)
OriginName string `gorm:"type:varchar(255)" json:"origin_name"` // 用户上传时的原始文件名
MimeType string `gorm:"type:varchar(128)" json:"mime_type"`
Ext string `gorm:"type:varchar(32)" json:"ext"` // 小写扩展名,不含点
Size int64 `gorm:"type:bigint" json:"size"`
UploaderType string `gorm:"type:varchar(16)" json:"uploader_type"` // admin | ma
UploaderID uint64 `gorm:"type:bigint;index" json:"uploader_id"`
URL string `gorm:"type:varchar(512)" json:"url"`
CreatedAt types.Time `json:"created_at"`
}
func (File) TableName() string { return "files" }