3 Star 2 Fork 1

fotomxq/weeekj_core

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
save.go 2.95 KB
一键复制 编辑 原始数据 按行查看 历史
fotomxq 提交于 2025-02-05 18:52 +08:00 . 修改项目路径;
package BaseTempFile
import (
"errors"
"fmt"
BaseExpireTip "gitee.com/fotomxq/weeekj_core/v5/base/expire_tip"
CoreFile "gitee.com/fotomxq/weeekj_core/v5/core/file"
CoreFilter "gitee.com/fotomxq/weeekj_core/v5/core/filter"
CoreSQL "gitee.com/fotomxq/weeekj_core/v5/core/sql"
Router2SystemConfig "gitee.com/fotomxq/weeekj_core/v5/router2/system_config"
)
// CreateTempFileSrc 创建临时文件
// Deprecated
func CreateTempFileSrc(dir string, fileName string, fileType string) (src string, name string, err error) {
tempDir := Router2SystemConfig.RootDir + CoreFile.Sep + "temp" + CoreFile.Sep + dir
if err = CoreFile.CreateFolder(tempDir); err != nil {
err = errors.New(fmt.Sprint("create temp dir, ", err))
return
}
if fileName == "" {
fileName = CoreFilter.GetRandStr4(50)
}
name = CoreFilter.GetNowTimeCarbon().Format("2006010215") + "_" + fileName + fileType
src = tempDir + CoreFile.Sep + name
return
}
// SaveFileBefore 检查预加载文件
func SaveFileBefore(fileParams string) (newID int64, hash string, b bool) {
var data FieldsFile
_ = Router2SystemConfig.MainDB.Get(&data, "SELECT id, create_at, expire_at, file_params, file_src, file_sha1, name, file_type FROM core_temp_file WHERE file_params = $1", fileParams)
if data.ID < 1 {
return
}
newID = data.ID
hash = data.FileSHA1
b = true
return
}
// SaveFile 保存文件
func SaveFile(expireSec int, fileParams string, fileName string, fileSha1 string, fileType string) (fileSrc string, newID int64, hash string, err error) {
//生成临时目录
tempDir := Router2SystemConfig.RootDir + CoreFile.Sep + "temp"
if !CoreFile.IsFolder(tempDir) {
if err = CoreFile.CreateFolder(tempDir); err != nil {
err = errors.New(fmt.Sprint("create temp dir, ", err))
return
}
}
if fileSha1 == "" {
fileSha1 = CoreFilter.GetRandStr4(50)
}
//构建文件路径
fileSrc = tempDir + CoreFile.Sep + CoreFilter.GetNowTimeCarbon().Format("2006010215") + "_" + fileSha1 + "." + fileType
//过期时间
if expireSec < 10 {
expireSec = 120
}
expireAt := CoreFilter.GetNowTimeCarbon().AddSeconds(expireSec)
//构建记录
newID, err = CoreSQL.CreateOneAndID(Router2SystemConfig.MainDB.DB, "INSERT INTO core_temp_file (expire_at, file_params, file_src, file_sha1, name, file_type) VALUES (:expire_at,:file_params,:file_src,:file_sha1,:name,:file_type)", map[string]interface{}{
"expire_at": expireAt,
"file_params": fileParams,
"file_src": fileSrc,
"file_sha1": fileSha1,
"name": fileName,
"file_type": fileType,
})
if err != nil {
return
}
hash = fileSha1
BaseExpireTip.AppendTipNoErr(&BaseExpireTip.ArgsAppendTip{
OrgID: 0,
UserID: 0,
SystemMark: "core_temp_file",
BindID: newID,
Hash: "",
ExpireAt: expireAt.Time,
})
return
}
func getFileID(id int64) (data FieldsFile) {
_ = Router2SystemConfig.MainDB.Get(&data, "SELECT id, create_at, expire_at, file_params, file_src, file_sha1, name, file_type FROM core_temp_file WHERE id = $1", id)
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fotomxq/weeekj_core.git
git@gitee.com:fotomxq/weeekj_core.git
fotomxq
weeekj_core
weeekj_core
v5.4.28

搜索帮助