Forráskód Böngészése

fix download/upload endless loop when file size == 0

yubin.byb 9 éve
szülő
commit
eea21c7e41
2 módosított fájl, 4 hozzáadás és 4 törlés
  1. 2 2
      oss/download.go
  2. 2 2
      oss/upload.go

+ 2 - 2
oss/download.go

@@ -172,7 +172,7 @@ func (bucket Bucket) downloadFile(objectKey, filePath string, partSize int64, op
 	// 等待分片下载完成
 	// 等待分片下载完成
 	completed := 0
 	completed := 0
 	ps := make([]downloadPart, len(parts))
 	ps := make([]downloadPart, len(parts))
-	for {
+	for completed < len(parts) {
 		select {
 		select {
 		case part := <-results:
 		case part := <-results:
 			completed++
 			completed++
@@ -371,7 +371,7 @@ func (bucket Bucket) downloadFileWithCp(objectKey, filePath string, partSize int
 
 
 	// 等待分片下载完成
 	// 等待分片下载完成
 	completed := 0
 	completed := 0
-	for {
+	for completed < len(parts) {
 		select {
 		select {
 		case part := <-results:
 		case part := <-results:
 			completed++
 			completed++

+ 2 - 2
oss/upload.go

@@ -154,7 +154,7 @@ func (bucket Bucket) uploadFile(objectKey, filePath string, partSize int64, opti
 	// 等待分配分片上传完成
 	// 等待分配分片上传完成
 	completed := 0
 	completed := 0
 	parts := make([]UploadPart, len(chunks))
 	parts := make([]UploadPart, len(chunks))
-	for {
+	for completed < len(chunks) {
 		select {
 		select {
 		case part := <-results:
 		case part := <-results:
 			completed++
 			completed++
@@ -408,7 +408,7 @@ func (bucket Bucket) uploadFileWithCp(objectKey, filePath string, partSize int64
 
 
 	// 等待分配分片上传完成
 	// 等待分配分片上传完成
 	completed := 0
 	completed := 0
-	for {
+	for completed < len(chunks) {
 		select {
 		select {
 		case part := <-results:
 		case part := <-results:
 			completed++
 			completed++