Skip to content

Commit 15eac0c

Browse files
author
cyk
committed
fix(driver): update etag calculation to use streaming hash
1 parent 08b4855 commit 15eac0c

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/123_open/driver.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package _123_open
22

33
import (
44
"context"
5+
"encoding/hex"
56
"fmt"
67
"strconv"
78
"time"
@@ -10,7 +11,6 @@ import (
1011
"github.com/OpenListTeam/OpenList/v4/internal/errs"
1112
"github.com/OpenListTeam/OpenList/v4/internal/model"
1213
"github.com/OpenListTeam/OpenList/v4/internal/op"
13-
"github.com/OpenListTeam/OpenList/v4/internal/stream"
1414
"github.com/OpenListTeam/OpenList/v4/pkg/utils"
1515
)
1616

@@ -162,11 +162,13 @@ func (d *Open123) Put(ctx context.Context, dstDir model.Obj, file model.FileStre
162162
if err != nil {
163163
return nil, fmt.Errorf("parse parentFileID error: %v", err)
164164
}
165-
// etag 文件md5,每次都从实际数据计算
166-
_, etag, err := stream.CacheFullAndHash(file, &up, utils.MD5)
165+
// etag 文件md5,流式计算hash
166+
md5Hash := utils.MD5.NewFunc()
167+
_, err = file.CacheFullAndWriter(&up, md5Hash)
167168
if err != nil {
168169
return nil, err
169170
}
171+
etag := hex.EncodeToString(md5Hash.Sum(nil))
170172
createResp, err := d.create(parentFileId, file.GetName(), etag, file.GetSize(), 2, false)
171173
if err != nil {
172174
return nil, err

0 commit comments

Comments
 (0)