mirror of https://github.com/cloudreve/Cloudreve
Feat: insert file record to database
parent
e835dafc88
commit
e09294d388
|
@ -16,6 +16,14 @@ type File struct {
|
||||||
Dir string `gorm:"size:65536"`
|
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,查找文件
|
// GetFileByPathAndName 给定路径、文件名、用户ID,查找文件
|
||||||
func GetFileByPathAndName(path string, name string, uid uint) (File, error) {
|
func GetFileByPathAndName(path string, name string, uid uint) (File, error) {
|
||||||
var file File
|
var file File
|
||||||
|
|
|
@ -79,8 +79,26 @@ func NewFileSystem(user *model.User) (*FileSystem, error) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// AddFile 新增文件记录
|
// AddFile 新增文件记录
|
||||||
func (fs *FileSystem) AddFile(parent *model.Folder) error {
|
func (fs *FileSystem) AddFile(ctx context.Context, parent *model.Folder) (*model.File, error) {
|
||||||
return nil
|
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 {
|
if err != nil {
|
||||||
return errors.New("无法插入文件记录")
|
return errors.New("无法插入文件记录")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 异步尝试生成缩略图
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,8 +35,11 @@ var colors = map[string]func(a ...interface{}) string{
|
||||||
|
|
||||||
// Println 打印
|
// Println 打印
|
||||||
func (ll *Logger) Println(prefix string, msg string) {
|
func (ll *Logger) Println(prefix string, msg string) {
|
||||||
|
// TODO Release时去掉
|
||||||
|
color.NoColor = false
|
||||||
|
|
||||||
c := color.New()
|
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 极端错误
|
// Panic 极端错误
|
||||||
|
|
Loading…
Reference in New Issue