|
@@ -6,6 +6,7 @@ import (
|
|
|
"dashoo.cn/opms_libary/multipart"
|
|
"dashoo.cn/opms_libary/multipart"
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
"errors"
|
|
"errors"
|
|
|
|
|
+ "fmt"
|
|
|
"github.com/gogf/gf/util/gconv"
|
|
"github.com/gogf/gf/util/gconv"
|
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
|
"net"
|
|
"net"
|
|
@@ -146,9 +147,13 @@ func streamHandler(conn net.Conn, args *share.StreamServiceArgs) {
|
|
|
|
|
|
|
|
// 读取文件名
|
|
// 读取文件名
|
|
|
fileHeader := make([]byte, length)
|
|
fileHeader := make([]byte, length)
|
|
|
- _, err = conn.Read(fileHeader)
|
|
|
|
|
|
|
+ _, err := conn.Read(fileHeader)
|
|
|
|
|
|
|
|
headers := strings.Split(string(fileHeader), " ")
|
|
headers := strings.Split(string(fileHeader), " ")
|
|
|
|
|
+ if len(headers) != 3 {
|
|
|
|
|
+ fmt.Println(form, "111111")
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
paramName := headers[0]
|
|
paramName := headers[0]
|
|
|
fileName := headers[1]
|
|
fileName := headers[1]
|
|
|
fileSize := headers[2]
|
|
fileSize := headers[2]
|
|
@@ -163,24 +168,45 @@ func streamHandler(conn net.Conn, args *share.StreamServiceArgs) {
|
|
|
defer os.Remove(tmpFile.Name())
|
|
defer os.Remove(tmpFile.Name())
|
|
|
|
|
|
|
|
size, _ := strconv.Atoi(fileSize)
|
|
size, _ := strconv.Atoi(fileSize)
|
|
|
|
|
+ curSize := 0
|
|
|
|
|
+ for {
|
|
|
|
|
+ if curSize+1024 > size {
|
|
|
|
|
+ buf = make([]byte, size-curSize)
|
|
|
|
|
+ curSize = size
|
|
|
|
|
+ } else {
|
|
|
|
|
+ buf = make([]byte, 1024)
|
|
|
|
|
+ curSize = curSize + 1024
|
|
|
|
|
+ }
|
|
|
|
|
+ conn.Read(buf)
|
|
|
|
|
+ tmpFile.Write(buf)
|
|
|
|
|
+ if curSize == size {
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- buf = make([]byte, size)
|
|
|
|
|
- conn.Read(buf)
|
|
|
|
|
- tmpFile.Write(buf)
|
|
|
|
|
|
|
+ fmt.Println("1==============================")
|
|
|
|
|
|
|
|
form.File[paramName] = &multipart.FileHeader{FileName: fileName, FileSize: int64(size), File: tmpFile}
|
|
form.File[paramName] = &multipart.FileHeader{FileName: fileName, FileSize: int64(size), File: tmpFile}
|
|
|
-
|
|
|
|
|
|
|
+ fmt.Println(form)
|
|
|
// 判断是否结束
|
|
// 判断是否结束
|
|
|
isEnd := make([]byte, 1)
|
|
isEnd := make([]byte, 1)
|
|
|
- _, err = conn.Read(isEnd)
|
|
|
|
|
- if err != nil || isEnd[0] == '1' {
|
|
|
|
|
|
|
+ conn.Read(isEnd)
|
|
|
|
|
+ fmt.Println(gconv.String(isEnd))
|
|
|
|
|
+ if gconv.String(isEnd) == "1" {
|
|
|
|
|
+ fmt.Println("2==============================")
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
- if isEnd[0] == '2' {
|
|
|
|
|
|
|
+ if gconv.String(isEnd) == "2" {
|
|
|
|
|
+ fmt.Println("3==============================")
|
|
|
break
|
|
break
|
|
|
}
|
|
}
|
|
|
|
|
+ fmt.Println("4==============================")
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
+ fmt.Println("5==============================")
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
+ fmt.Println("6==============================")
|
|
|
|
|
|
|
|
result := make([]byte, 0)
|
|
result := make([]byte, 0)
|
|
|
className, _ := args.Meta["reqService"]
|
|
className, _ := args.Meta["reqService"]
|