From adc3a56552c510acd50ffd0048f61080f8a9d012 Mon Sep 17 00:00:00 2001 From: NewbieOrange Date: Sun, 12 Mar 2023 13:59:40 +0800 Subject: [PATCH] feat(aliyundrive): make checksum cancellable (#3814) --- drivers/aliyundrive/driver.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/aliyundrive/driver.go b/drivers/aliyundrive/driver.go index 6c78ddcf..b33f7e80 100644 --- a/drivers/aliyundrive/driver.go +++ b/drivers/aliyundrive/driver.go @@ -226,7 +226,7 @@ func (d *AliDrive) Put(ctx context.Context, dstDir model.Obj, stream model.FileS delete(reqBody, "pre_hash") h := sha1.New() if localFile != nil { - if _, err = io.Copy(h, localFile); err != nil { + if err = utils.CopyWithCtx(ctx, h, localFile, 0, nil); err != nil { return err } if _, err = localFile.Seek(0, io.SeekStart); err != nil { @@ -241,7 +241,7 @@ func (d *AliDrive) Put(ctx context.Context, dstDir model.Obj, stream model.FileS _ = tempFile.Close() _ = os.Remove(tempFile.Name()) }() - if _, err = io.Copy(io.MultiWriter(tempFile, h), file); err != nil { + if err = utils.CopyWithCtx(ctx, io.MultiWriter(tempFile, h), file, 0, nil); err != nil { return err } localFile = tempFile