Skip to content

Commit 6702357

Browse files
committed
.
1 parent 7b8c2af commit 6702357

File tree

11 files changed

+132
-132
lines changed

11 files changed

+132
-132
lines changed

drivers/115/driver.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
driver115 "github.com/SheltonZhu/115driver/pkg/driver"
99
"github.com/alist-org/alist/v3/internal/driver"
1010
"github.com/alist-org/alist/v3/internal/model"
11-
"github.com/alist-org/alist/v3/internal/stream"
11+
streamPkg "github.com/alist-org/alist/v3/internal/stream"
1212
"github.com/alist-org/alist/v3/pkg/http_range"
1313
"github.com/alist-org/alist/v3/pkg/utils"
1414
"github.com/pkg/errors"
@@ -150,7 +150,7 @@ func (d *Pan115) Remove(ctx context.Context, obj model.Obj) error {
150150
return d.client.Delete(obj.GetID())
151151
}
152152

153-
func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer, up driver.UpdateProgress) (model.Obj, error) {
153+
func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, stream model.FileStreamer, up driver.UpdateProgress) (model.Obj, error) {
154154
if err := d.WaitLimit(ctx); err != nil {
155155
return nil, err
156156
}
@@ -163,7 +163,7 @@ func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
163163
if ok, err := d.client.UploadAvailable(); err != nil || !ok {
164164
return nil, err
165165
}
166-
if s.GetSize() > d.client.UploadMetaInfo.SizeLimit {
166+
if stream.GetSize() > d.client.UploadMetaInfo.SizeLimit {
167167
return nil, driver115.ErrUploadTooLarge
168168
}
169169
//if digest, err = d.client.GetDigestResult(stream); err != nil {
@@ -172,10 +172,10 @@ func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
172172

173173
const PreHashSize int64 = 128 * utils.KB
174174
hashSize := PreHashSize
175-
if s.GetSize() < PreHashSize {
176-
hashSize = s.GetSize()
175+
if stream.GetSize() < PreHashSize {
176+
hashSize = stream.GetSize()
177177
}
178-
reader, err := s.RangeRead(http_range.Range{Start: 0, Length: hashSize})
178+
reader, err := stream.RangeRead(http_range.Range{Start: 0, Length: hashSize})
179179
if err != nil {
180180
return nil, err
181181
}
@@ -184,9 +184,9 @@ func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
184184
return nil, err
185185
}
186186
preHash = strings.ToUpper(preHash)
187-
fullHash := s.GetHash().GetHash(utils.SHA1)
187+
fullHash := stream.GetHash().GetHash(utils.SHA1)
188188
if len(fullHash) != utils.SHA1.Width {
189-
_, fullHash, err = stream.CacheFullInTempFileAndHash(s, utils.SHA1)
189+
_, fullHash, err = streamPkg.CacheFullInTempFileAndHash(stream, utils.SHA1)
190190
if err != nil {
191191
return nil, err
192192
}
@@ -196,7 +196,7 @@ func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
196196
// rapid-upload
197197
// note that 115 add timeout for rapid-upload,
198198
// and "sig invalid" err is thrown even when the hash is correct after timeout.
199-
if fastInfo, err = d.rapidUpload(s.GetSize(), s.GetName(), dirID, preHash, fullHash, s); err != nil {
199+
if fastInfo, err = d.rapidUpload(stream.GetSize(), stream.GetName(), dirID, preHash, fullHash, stream); err != nil {
200200
return nil, err
201201
}
202202
if matched, err := fastInfo.Ok(); err != nil {
@@ -211,13 +211,13 @@ func (d *Pan115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer
211211

212212
var uploadResult *UploadResult
213213
// 闪传失败,上传
214-
if s.GetSize() <= 10*utils.MB { // 文件大小小于10MB,改用普通模式上传
215-
if uploadResult, err = d.UploadByOSS(ctx, &fastInfo.UploadOSSParams, s, dirID, up); err != nil {
214+
if stream.GetSize() <= 10*utils.MB { // 文件大小小于10MB,改用普通模式上传
215+
if uploadResult, err = d.UploadByOSS(ctx, &fastInfo.UploadOSSParams, stream, dirID, up); err != nil {
216216
return nil, err
217217
}
218218
} else {
219219
// 分片上传
220-
if uploadResult, err = d.UploadByMultipart(ctx, &fastInfo.UploadOSSParams, s.GetSize(), s, dirID, up); err != nil {
220+
if uploadResult, err = d.UploadByMultipart(ctx, &fastInfo.UploadOSSParams, stream.GetSize(), stream, dirID, up); err != nil {
221221
return nil, err
222222
}
223223
}

drivers/115_open/driver.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -185,26 +185,26 @@ func (d *Open115) Remove(ctx context.Context, obj model.Obj) error {
185185
return nil
186186
}
187187

188-
func (d *Open115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer, up driver.UpdateProgress) error {
188+
func (d *Open115) Put(ctx context.Context, dstDir model.Obj, file model.FileStreamer, up driver.UpdateProgress) error {
189189
// cal full sha1
190-
sha1 := s.GetHash().GetHash(utils.SHA1)
190+
sha1 := file.GetHash().GetHash(utils.SHA1)
191191
var tempF model.File
192192
var err error
193193
if len(sha1) != utils.SHA1.Width {
194-
tempF, sha1, err = stream.CacheFullInTempFileAndHash(s, utils.SHA1)
194+
tempF, sha1, err = stream.CacheFullInTempFileAndHash(file, utils.SHA1)
195195
if err != nil {
196196
return err
197197
}
198198
} else {
199-
tempF, err = s.CacheFullInTempFile()
199+
tempF, err = file.CacheFullInTempFile()
200200
if err != nil {
201201
return err
202202
}
203203
}
204204
// pre 128k sha1
205205
const PreHashSize int64 = 128 * utils.KB
206-
hashSize := min(s.GetSize(), PreHashSize)
207-
reader, err := s.RangeRead(http_range.Range{Start: 0, Length: hashSize})
206+
hashSize := min(file.GetSize(), PreHashSize)
207+
reader, err := file.RangeRead(http_range.Range{Start: 0, Length: hashSize})
208208
if err != nil {
209209
return err
210210
}
@@ -214,8 +214,8 @@ func (d *Open115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreame
214214
}
215215
// 1. Init
216216
resp, err := d.client.UploadInit(ctx, &sdk.UploadInitReq{
217-
FileName: s.GetName(),
218-
FileSize: s.GetSize(),
217+
FileName: file.GetName(),
218+
FileSize: file.GetSize(),
219219
Target: dstDir.GetID(),
220220
FileID: strings.ToUpper(sha1),
221221
PreID: strings.ToUpper(sha1128k),
@@ -250,8 +250,8 @@ func (d *Open115) Put(ctx context.Context, dstDir model.Obj, s model.FileStreame
250250
return err
251251
}
252252
resp, err = d.client.UploadInit(ctx, &sdk.UploadInitReq{
253-
FileName: s.GetName(),
254-
FileSize: s.GetSize(),
253+
FileName: file.GetName(),
254+
FileSize: file.GetSize(),
255255
Target: dstDir.GetID(),
256256
FileID: strings.ToUpper(sha1),
257257
PreID: strings.ToUpper(sha1128k),

drivers/139/driver.go

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)