diff --git a/drivers/115/util.go b/drivers/115/util.go index 57c987349..104ebe8ec 100644 --- a/drivers/115/util.go +++ b/drivers/115/util.go @@ -337,9 +337,11 @@ func (d *Pan115) UploadByMultipart(ctx context.Context, params *driver115.Upload for chunk := range chunksCh { var part oss.UploadPart // 出现错误就继续尝试,共尝试3次 for retry := 0; retry < 3; retry++ { - select { - case <-ctx.Done(): + if utils.IsCanceled(ctx) { + err = ctx.Err() break + } + select { case <-ticker.C: if ossToken, err = d.client.GetOSSToken(); err != nil { // 到时重新获取ossToken errCh <- errors.Wrap(err, "刷新token时出现错误") diff --git a/drivers/pikpak/util.go b/drivers/pikpak/util.go index 1d091217a..b75bc2016 100644 --- a/drivers/pikpak/util.go +++ b/drivers/pikpak/util.go @@ -503,9 +503,11 @@ func (d *PikPak) UploadByMultipart(ctx context.Context, params *S3Params, fileSi for chunk := range chunksCh { var part oss.UploadPart // 出现错误就继续尝试,共尝试3次 for retry := 0; retry < 3; retry++ { - select { - case <-ctx.Done(): + if utils.IsCanceled(ctx) { + err = ctx.Err() break + } + select { case <-ticker.C: errCh <- errors.Wrap(err, "ossToken 过期") default: