Feat: insert file record to database

pull/247/head
HFO4 5 years ago
parent e835dafc88
commit e09294d388

@ -16,6 +16,14 @@ type File struct {
Dir string `gorm:"size:65536"`
}
// Create 创建文件记录
func (file *File) Create() (uint, error) {
if err := DB.Create(file).Error; err != nil {
return 0, err
}
return file.ID, nil
}
// GetFileByPathAndName 给定路径、文件名、用户ID查找文件
func GetFileByPathAndName(path string, name string, uid uint) (File, error) {
var file File

@ -79,8 +79,26 @@ func NewFileSystem(user *model.User) (*FileSystem, error) {
*/
// AddFile 新增文件记录
func (fs *FileSystem) AddFile(parent *model.Folder) error {
return nil
func (fs *FileSystem) AddFile(ctx context.Context, parent *model.Folder) (*model.File, error) {
file := ctx.Value(FileHeaderCtx).(FileHeader)
filePath := ctx.Value(SavePathCtx).(string)
newFile := model.File{
Name: file.GetFileName(),
SourceName: filePath,
UserID: fs.User.ID,
Size: file.GetSize(),
FolderID: parent.ID,
PolicyID: fs.User.Policy.ID,
Dir: parent.PositionAbsolute,
}
_, err := newFile.Create()
if err != nil {
return nil, err
}
return &newFile, nil
}
/* ================

@ -73,10 +73,12 @@ func GenericAfterUpload(ctx context.Context, fs *FileSystem) error {
}
// 向数据库中插入记录
err := fs.AddFile(&folder)
_, err := fs.AddFile(ctx, &folder)
if err != nil {
return errors.New("无法插入文件记录")
}
// 异步尝试生成缩略图
return nil
}

@ -35,8 +35,11 @@ var colors = map[string]func(a ...interface{}) string{
// Println 打印
func (ll *Logger) Println(prefix string, msg string) {
// TODO Release时去掉
color.NoColor = false
c := color.New()
_, _ = c.Printf("%s %s %s\n", colors[prefix]("["+prefix+"]"), time.Now().Format("2006-01-02 15:04:05 -0700"), msg)
_, _ = c.Printf("%s %s %s\n", colors[prefix]("["+prefix+"]"), time.Now().Format("2006-01-02 15:04:05"), msg)
}
// Panic 极端错误

Loading…
Cancel
Save