@@ -5,17 +5,19 @@ import (
5
5
"encoding/base64"
6
6
"encoding/xml"
7
7
"fmt"
8
- "github.com/skip2/go-qrcode"
9
8
"io"
10
9
"net/http"
11
10
"strconv"
12
11
"strings"
13
12
"time"
14
13
14
+ "github.com/skip2/go-qrcode"
15
+
15
16
"github.com/OpenListTeam/OpenList/v4/drivers/base"
16
17
"github.com/OpenListTeam/OpenList/v4/internal/driver"
17
18
"github.com/OpenListTeam/OpenList/v4/internal/model"
18
19
"github.com/OpenListTeam/OpenList/v4/internal/op"
20
+ "github.com/OpenListTeam/OpenList/v4/internal/stream"
19
21
"github.com/OpenListTeam/OpenList/v4/pkg/utils"
20
22
21
23
"github.com/go-resty/resty/v2"
@@ -311,11 +313,14 @@ func (y *Cloud189TV) RapidUpload(ctx context.Context, dstDir model.Obj, stream m
311
313
312
314
// 旧版本上传,家庭云不支持覆盖
313
315
func (y * Cloud189TV ) OldUpload (ctx context.Context , dstDir model.Obj , file model.FileStreamer , up driver.UpdateProgress , isFamily bool , overwrite bool ) (model.Obj , error ) {
314
- tempFile , err := file .CacheFullInTempFile ()
315
- if err != nil {
316
- return nil , err
316
+ fileMd5 := file .GetHash ().GetHash (utils .MD5 )
317
+ var tempFile = file .GetFile ()
318
+ var err error
319
+ if len (fileMd5 ) != utils .MD5 .Width {
320
+ tempFile , fileMd5 , err = stream .CacheFullAndHash (file , & up , utils .MD5 )
321
+ } else if tempFile == nil {
322
+ tempFile , err = file .CacheFullAndWriter (& up , nil )
317
323
}
318
- fileMd5 , err := utils .HashFile (utils .MD5 , tempFile )
319
324
if err != nil {
320
325
return nil , err
321
326
}
@@ -345,7 +350,7 @@ func (y *Cloud189TV) OldUpload(ctx context.Context, dstDir model.Obj, file model
345
350
header ["Edrive-UploadFileId" ] = fmt .Sprint (status .UploadFileId )
346
351
}
347
352
348
- _ , err := y .put (ctx , status .FileUploadUrl , header , true , io . NopCloser ( tempFile ) , isFamily )
353
+ _ , err := y .put (ctx , status .FileUploadUrl , header , true , tempFile , isFamily )
349
354
if err , ok := err .(* RespErr ); ok && err .Code != "InputStreamReadError" {
350
355
return nil , err
351
356
}
0 commit comments