fix(189pc): large file upload error (close #4417 in #4438)

This commit is contained in:
foxxorcat
2023-05-27 14:28:58 +08:00
committed by GitHub
parent b2f5757f8d
commit 2c1f70fbe9
9 changed files with 417 additions and 114 deletions

View File

@ -11,6 +11,7 @@ import (
"encoding/hex"
"encoding/pem"
"fmt"
"math"
"net/http"
"regexp"
"strings"
@ -131,3 +132,18 @@ func BoolToNumber(b bool) int {
}
return 0
}
// 计算分片大小
// 对分片数量有限制
// 10MIB 20 MIB 999片
// 50MIB 60MIB 70MIB 80MIB ∞MIB 1999片
func partSize(size int64) int64 {
const DEFAULT = 1024 * 1024 * 10 // 10MIB
if size > DEFAULT*2*999 {
return int64(math.Max(math.Ceil((float64(size)/1999) /*=单个切片大小*/ /float64(DEFAULT)) /*=倍率*/, 5) * DEFAULT)
}
if size > DEFAULT*999 {
return DEFAULT * 2 // 20MIB
}
return DEFAULT
}