diff --git a/drivers/crypt/driver.go b/drivers/crypt/driver.go index 88c2c6b3..c419f053 100644 --- a/drivers/crypt/driver.go +++ b/drivers/crypt/driver.go @@ -123,7 +123,7 @@ func (d *Crypt) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([ continue } } else { - size, err = d.cipher.DecryptedSize(obj.GetSize()) + size, err = d.cipher.DecryptedSize(size) if err != nil { // filter illegal files continue @@ -203,15 +203,18 @@ func (d *Crypt) Get(ctx context.Context, path string) (model.Obj, error) { if !remoteObj.IsDir() { size, err = d.cipher.DecryptedSize(size) if err != nil { + size = remoteObj.GetSize() log.Warnf("DecryptedSize failed for %s ,will use original size, err:%s", path, err) } name, err = d.cipher.DecryptFileName(rawName) if err != nil { + name = remoteObj.GetName() log.Warnf("DecryptFileName failed for %s ,will use original name, err:%s", path, err) } } else { name, err = d.cipher.DecryptDirName(rawName) if err != nil { + name = remoteObj.GetName() log.Warnf("DecryptDirName failed for %s ,will use original name, err:%s", path, err) } } diff --git a/internal/model/obj.go b/internal/model/obj.go index 783c2a73..74c140d9 100644 --- a/internal/model/obj.go +++ b/internal/model/obj.go @@ -188,22 +188,6 @@ func GetProvider(obj Obj) (string, bool) { } } -// func GetRawObject(obj Obj) *Object { -// switch v := obj.(type) { -// case *ObjThumbURL: -// return &v.Object -// case *ObjThumb: -// return &v.Object -// case *ObjectURL: -// return &v.Object -// case *ObjectProvider: -// return &v.Object -// case *Object: -// return v -// } -// return nil -// } - // Merge func NewObjMerge() *ObjMerge { return &ObjMerge{ diff --git a/internal/task_group/transfer.go b/internal/task_group/transfer.go index 1907a74f..9ac13796 100644 --- a/internal/task_group/transfer.go +++ b/internal/task_group/transfer.go @@ -55,7 +55,7 @@ func RefreshAndRemove(dstPath string, payloads ...any) { log.Error(errors.WithMessage(err, "failed get src storage")) continue } - err = verifyAndRemove(context.Background(), srcStorage, dstStorage, srcActualPath, dstActualPath /* , dstNeedRefresh */) + err = verifyAndRemove(context.Background(), srcStorage, dstStorage, srcActualPath, dstActualPath) if err != nil { log.Error(err) } @@ -63,7 +63,7 @@ func RefreshAndRemove(dstPath string, payloads ...any) { } } -func verifyAndRemove(ctx context.Context, srcStorage, dstStorage driver.Driver, srcPath, dstPath string /* , refresh bool */) error { +func verifyAndRemove(ctx context.Context, srcStorage, dstStorage driver.Driver, srcPath, dstPath string) error { srcObj, err := op.GetUnwrap(ctx, srcStorage, srcPath) if err != nil { return errors.WithMessagef(err, "failed get src [%s] file", path.Join(srcStorage.GetStorage().MountPath, srcPath)) @@ -89,13 +89,10 @@ func verifyAndRemove(ctx context.Context, srcStorage, dstStorage driver.Driver, return errors.WithMessagef(err, "failed list src [%s] objs", path.Join(srcStorage.GetStorage().MountPath, srcPath)) } - // if refresh { - // op.Cache.DeleteDirectory(dstStorage, dstObjPath) - // } hasErr := false for _, obj := range srcObjs { srcSubPath := path.Join(srcPath, obj.GetName()) - err := verifyAndRemove(ctx, srcStorage, dstStorage, srcSubPath, dstObjPath /* , refresh */) + err := verifyAndRemove(ctx, srcStorage, dstStorage, srcSubPath, dstObjPath) if err != nil { log.Error(err) hasErr = true