@@ -15,7 +15,7 @@ import (
1515 "github.com/alist-org/alist/v3/internal/driver"
1616 "github.com/alist-org/alist/v3/internal/errs"
1717 "github.com/alist-org/alist/v3/internal/model"
18- "github.com/alist-org/alist/v3/internal/stream"
18+ streamPkg "github.com/alist-org/alist/v3/internal/stream"
1919 "github.com/alist-org/alist/v3/pkg/cron"
2020 "github.com/alist-org/alist/v3/pkg/utils"
2121 "github.com/alist-org/alist/v3/pkg/utils/random"
@@ -522,21 +522,21 @@ func (d *Yun139) getPartSize(size int64) int64 {
522522 return 100 * MB
523523}
524524
525- func (d * Yun139 ) Put (ctx context.Context , dstDir model.Obj , s model.FileStreamer , up driver.UpdateProgress ) error {
525+ func (d * Yun139 ) Put (ctx context.Context , dstDir model.Obj , stream model.FileStreamer , up driver.UpdateProgress ) error {
526526 switch d .Addition .Type {
527527 case MetaPersonalNew :
528528 var err error
529- fullHash := s .GetHash ().GetHash (utils .SHA256 )
529+ fullHash := stream .GetHash ().GetHash (utils .SHA256 )
530530 if len (fullHash ) != utils .SHA256 .Width {
531- _ , fullHash , err = stream .CacheFullInTempFileAndHash (s , utils .SHA256 )
531+ _ , fullHash , err = streamPkg .CacheFullInTempFileAndHash (stream , utils .SHA256 )
532532 if err != nil {
533533 return err
534534 }
535535 }
536536
537537 partInfos := []PartInfo {}
538- var partSize = d .getPartSize (s .GetSize ())
539- part := (s .GetSize () + partSize - 1 ) / partSize
538+ var partSize = d .getPartSize (stream .GetSize ())
539+ part := (stream .GetSize () + partSize - 1 ) / partSize
540540 if part == 0 {
541541 part = 1
542542 }
@@ -545,7 +545,7 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
545545 return ctx .Err ()
546546 }
547547 start := i * partSize
548- byteSize := s .GetSize () - start
548+ byteSize := stream .GetSize () - start
549549 if byteSize > partSize {
550550 byteSize = partSize
551551 }
@@ -573,9 +573,9 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
573573 "contentType" : "application/octet-stream" ,
574574 "parallelUpload" : false ,
575575 "partInfos" : firstPartInfos ,
576- "size" : s .GetSize (),
576+ "size" : stream .GetSize (),
577577 "parentFileId" : dstDir .GetID (),
578- "name" : s .GetName (),
578+ "name" : stream .GetName (),
579579 "type" : "file" ,
580580 "fileRenameMode" : "auto_rename" ,
581581 }
@@ -626,9 +626,9 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
626626 }
627627
628628 // Progress
629- p := driver .NewProgress (s .GetSize (), up )
629+ p := driver .NewProgress (stream .GetSize (), up )
630630
631- rateLimited := driver .NewLimitedUploadStream (ctx , s )
631+ rateLimited := driver .NewLimitedUploadStream (ctx , stream )
632632 // 上传所有分片
633633 for _ , uploadPartInfo := range uploadPartInfos {
634634 index := uploadPartInfo .PartNumber - 1
@@ -674,8 +674,8 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
674674 }
675675
676676 // 处理冲突
677- if resp .Data .FileName != s .GetName () {
678- log .Debugf ("[139] conflict detected: %s != %s" , resp .Data .FileName , s .GetName ())
677+ if resp .Data .FileName != stream .GetName () {
678+ log .Debugf ("[139] conflict detected: %s != %s" , resp .Data .FileName , stream .GetName ())
679679 // 给服务器一定时间处理数据,避免无法刷新文件列表
680680 time .Sleep (time .Millisecond * 500 )
681681 // 刷新并获取文件列表
@@ -685,10 +685,10 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
685685 }
686686 // 删除旧文件
687687 for _ , file := range files {
688- if file .GetName () == s .GetName () {
688+ if file .GetName () == stream .GetName () {
689689 log .Debugf ("[139] conflict: removing old: %s" , file .GetName ())
690690 // 删除前重命名旧文件,避免仍旧冲突
691- err = d .Rename (ctx , file , s .GetName ()+ random .String (4 ))
691+ err = d .Rename (ctx , file , stream .GetName ()+ random .String (4 ))
692692 if err != nil {
693693 return err
694694 }
@@ -702,8 +702,8 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
702702 // 重命名新文件
703703 for _ , file := range files {
704704 if file .GetName () == resp .Data .FileName {
705- log .Debugf ("[139] conflict: renaming new: %s => %s" , file .GetName (), s .GetName ())
706- err = d .Rename (ctx , file , s .GetName ())
705+ log .Debugf ("[139] conflict: renaming new: %s => %s" , file .GetName (), stream .GetName ())
706+ err = d .Rename (ctx , file , stream .GetName ())
707707 if err != nil {
708708 return err
709709 }
@@ -723,10 +723,10 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
723723 }
724724 // 删除旧文件
725725 for _ , file := range files {
726- if file .GetName () == s .GetName () {
726+ if file .GetName () == stream .GetName () {
727727 log .Debugf ("[139] conflict: removing old: %s" , file .GetName ())
728728 // 删除前重命名旧文件,避免仍旧冲突
729- err = d .Rename (ctx , file , s .GetName ()+ random .String (4 ))
729+ err = d .Rename (ctx , file , stream .GetName ()+ random .String (4 ))
730730 if err != nil {
731731 return err
732732 }
@@ -743,7 +743,7 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
743743 "fileCount" : 1 ,
744744 "totalSize" : 0 , // 去除上传大小限制
745745 "uploadContentList" : []base.Json {{
746- "contentName" : s .GetName (),
746+ "contentName" : stream .GetName (),
747747 "contentSize" : 0 , // 去除上传大小限制
748748 // "digest": "5a3231986ce7a6b46e408612d385bafa"
749749 }},
@@ -764,7 +764,7 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
764764 "seqNo" : random .String (32 ), //序列号不能为空
765765 "totalSize" : 0 ,
766766 "uploadContentList" : []base.Json {{
767- "contentName" : s .GetName (),
767+ "contentName" : stream .GetName (),
768768 "contentSize" : 0 ,
769769 // "digest": "5a3231986ce7a6b46e408612d385bafa"
770770 }},
@@ -778,21 +778,21 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
778778 }
779779
780780 // Progress
781- p := driver .NewProgress (s .GetSize (), up )
781+ p := driver .NewProgress (stream .GetSize (), up )
782782
783- var partSize = d .getPartSize (s .GetSize ())
784- part := (s .GetSize () + partSize - 1 ) / partSize
783+ var partSize = d .getPartSize (stream .GetSize ())
784+ part := (stream .GetSize () + partSize - 1 ) / partSize
785785 if part == 0 {
786786 part = 1
787787 }
788- rateLimited := driver .NewLimitedUploadStream (ctx , s )
788+ rateLimited := driver .NewLimitedUploadStream (ctx , stream )
789789 for i := int64 (0 ); i < part ; i ++ {
790790 if utils .IsCanceled (ctx ) {
791791 return ctx .Err ()
792792 }
793793
794794 start := i * partSize
795- byteSize := s .GetSize () - start
795+ byteSize := stream .GetSize () - start
796796 if byteSize > partSize {
797797 byteSize = partSize
798798 }
@@ -806,8 +806,8 @@ func (d *Yun139) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
806806 }
807807
808808 req = req .WithContext (ctx )
809- req .Header .Set ("Content-Type" , "text/plain;name=" + unicode (s .GetName ()))
810- req .Header .Set ("contentSize" , strconv .FormatInt (s .GetSize (), 10 ))
809+ req .Header .Set ("Content-Type" , "text/plain;name=" + unicode (stream .GetName ()))
810+ req .Header .Set ("contentSize" , strconv .FormatInt (stream .GetSize (), 10 ))
811811 req .Header .Set ("range" , fmt .Sprintf ("bytes=%d-%d" , start , start + byteSize - 1 ))
812812 req .Header .Set ("uploadtaskID" , resp .Data .UploadResult .UploadTaskID )
813813 req .Header .Set ("rangeType" , "0" )
0 commit comments