Files
GoFilm/server/logic/FileLogic.go

47 lines
1.2 KiB
Go

package logic
import (
"fmt"
"path/filepath"
"server/config"
"server/model/system"
"server/plugin/common/util"
"strings"
)
type FileLogic struct {
}
var FileL FileLogic
func (fl *FileLogic) SingleFileUpload(fileName string, uid int) string {
// 生成图片信息
var f = system.FileInfo{Link: fmt.Sprint(config.FilmPictureAccess, filepath.Base(fileName)), Uid: uid, Type: 0}
f.Fid = strings.TrimSuffix(filepath.Base(fileName), filepath.Ext(fileName))
f.FileType = strings.TrimPrefix(filepath.Ext(fileName), ".")
// 记录图片信息到系统表中
system.SaveGallery(f)
return f.Link
}
// GetPhotoPage 获取系统内的图片分页信息
func (fl *FileLogic) GetPhotoPage(page *system.Page) []system.FileInfo {
// 设置必要参数
var tl = []string{"jpeg", "jpg", "png", "webp"}
return system.GetFileInfoPage(tl, page)
}
// RemoveFileById 删除文件信息
func (fl *FileLogic) RemoveFileById(id uint) error {
// 首先获取对应图片信息
f := system.GetFileInfoById(id)
// 通过f删除本地图片
err := util.RemoveFile(f.StoragePath())
if err != nil {
return err
}
// 删除图片的关联信息
system.DelFileInfo(id)
return err
}