|
@@ -14,6 +14,12 @@ import (
|
|
|
const breakpointDir = "./breakpointDir/"
|
|
|
const finishDir = "./fileDir/"
|
|
|
|
|
|
+//@author: [piexlmax](https://github.com/piexlmax)
|
|
|
+//@function: BreakPointContinue
|
|
|
+//@description: 断点续传
|
|
|
+//@param: content []byte, fileName string, contentNumber int, contentTotal int, fileMd5 string
|
|
|
+//@return: error, string
|
|
|
+
|
|
|
func BreakPointContinue(content []byte, fileName string, contentNumber int, contentTotal int, fileMd5 string) (error, string) {
|
|
|
path := breakpointDir + fileMd5 + "/"
|
|
|
err := os.MkdirAll(path, os.ModePerm)
|
|
@@ -25,6 +31,12 @@ func BreakPointContinue(content []byte, fileName string, contentNumber int, cont
|
|
|
|
|
|
}
|
|
|
|
|
|
+//@author: [piexlmax](https://github.com/piexlmax)
|
|
|
+//@function: CheckMd5
|
|
|
+//@description: 检查Md5
|
|
|
+//@param: content []byte, chunkMd5 string
|
|
|
+//@return: CanUpload bool
|
|
|
+
|
|
|
func CheckMd5(content []byte, chunkMd5 string) (CanUpload bool) {
|
|
|
fileMd5 := MD5V(content)
|
|
|
if fileMd5 == chunkMd5 {
|
|
@@ -34,6 +46,12 @@ func CheckMd5(content []byte, chunkMd5 string) (CanUpload bool) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+//@author: [piexlmax](https://github.com/piexlmax)
|
|
|
+//@function: makeFileContent
|
|
|
+//@description: 创建切片内容
|
|
|
+//@param: content []byte, fileName string, FileDir string, contentNumber int
|
|
|
+//@return: error, string
|
|
|
+
|
|
|
func makeFileContent(content []byte, fileName string, FileDir string, contentNumber int) (error, string) {
|
|
|
path := FileDir + fileName + "_" + strconv.Itoa(contentNumber)
|
|
|
f, err := os.Create(path)
|
|
@@ -49,6 +67,12 @@ func makeFileContent(content []byte, fileName string, FileDir string, contentNum
|
|
|
return nil, path
|
|
|
}
|
|
|
|
|
|
+//@author: [piexlmax](https://github.com/piexlmax)
|
|
|
+//@function: makeFileContent
|
|
|
+//@description: 创建切片文件
|
|
|
+//@param: fileName string, FileMd5 string
|
|
|
+//@return: error, string
|
|
|
+
|
|
|
func MakeFile(fileName string, FileMd5 string) (error, string) {
|
|
|
rd, err := ioutil.ReadDir(breakpointDir + FileMd5)
|
|
|
if err != nil {
|
|
@@ -68,6 +92,12 @@ func MakeFile(fileName string, FileMd5 string) (error, string) {
|
|
|
return nil, finishDir + fileName
|
|
|
}
|
|
|
|
|
|
+//@author: [piexlmax](https://github.com/piexlmax)
|
|
|
+//@function: RemoveChunk
|
|
|
+//@description: 移除切片
|
|
|
+//@param: FileMd5 string
|
|
|
+//@return: error
|
|
|
+
|
|
|
func RemoveChunk(FileMd5 string) error {
|
|
|
err := os.RemoveAll(breakpointDir + FileMd5)
|
|
|
return err
|