mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-26 09:34:57 +08:00
Fix: file should be deleted when callback return error
This commit is contained in:
@@ -46,7 +46,10 @@ func (fs *FileSystem) AddFile(ctx context.Context, parent *model.Folder) (*model
|
|||||||
// 添加文件记录前的钩子
|
// 添加文件记录前的钩子
|
||||||
err := fs.Trigger(ctx, "BeforeAddFile")
|
err := fs.Trigger(ctx, "BeforeAddFile")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
if err := fs.Trigger(ctx, "BeforeAddFileFailed"); err != nil {
|
||||||
|
util.Log().Debug("BeforeAddFileFailed 钩子执行失败,%s", err)
|
||||||
|
}
|
||||||
|
return nil, ErrFileExisted.WithError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
file := ctx.Value(fsctx.FileHeaderCtx).(FileHeader)
|
file := ctx.Value(fsctx.FileHeaderCtx).(FileHeader)
|
||||||
|
|||||||
@@ -82,6 +82,8 @@ func ProcessCallback(service CallbackProcessService, c *gin.Context) serializer.
|
|||||||
fs.Use("BeforeAddFile", filesystem.HookValidateFile)
|
fs.Use("BeforeAddFile", filesystem.HookValidateFile)
|
||||||
fs.Use("BeforeAddFile", filesystem.HookValidateCapacity)
|
fs.Use("BeforeAddFile", filesystem.HookValidateCapacity)
|
||||||
fs.Use("AfterValidateFailed", filesystem.HookGiveBackCapacity)
|
fs.Use("AfterValidateFailed", filesystem.HookGiveBackCapacity)
|
||||||
|
fs.Use("AfterValidateFailed", filesystem.HookDeleteTempFile)
|
||||||
|
fs.Use("BeforeAddFileFailed", filesystem.HookDeleteTempFile)
|
||||||
|
|
||||||
// 向数据库中添加文件
|
// 向数据库中添加文件
|
||||||
file, err := fs.AddFile(ctx, parentFolder)
|
file, err := fs.AddFile(ctx, parentFolder)
|
||||||
|
|||||||
Reference in New Issue
Block a user