Commit 4c6db8b0 by Li Feifei

print log

parent 2d1da19e
Pipeline #14632 passed with stages
in 1 minute 0 seconds
...@@ -3,8 +3,6 @@ package upload ...@@ -3,8 +3,6 @@ package upload
import ( import (
"archive/zip" "archive/zip"
"bytes" "bytes"
"crypto/md5"
"encoding/hex"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
...@@ -48,6 +46,7 @@ const docUrl string = "http://doc.offcncloud.com/" ...@@ -48,6 +46,7 @@ const docUrl string = "http://doc.offcncloud.com/"
func init() { func init() {
log.SetFlags(log.Lshortfile | log.LstdFlags)
once.Do(func() { once.Do(func() {
Pool = workpool.New(10) Pool = workpool.New(10)
}) })
...@@ -110,14 +109,14 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -110,14 +109,14 @@ func Down(v *models.XyuSmallTempFiles) {
resp, err := http.Get(url) resp, err := http.Get(url)
if err != nil { if err != nil {
UpdateFileError("1", v.Uuid, v.RoomNum, objectName) UpdateFileError("1", v.Uuid, v.RoomNum, objectName)
fmt.Println(err) log.Println(err)
return return
} }
defer resp.Body.Close() defer resp.Body.Close()
// 创建一个文件用于保存 // 创建一个文件用于保存
out, err := os.Create(filePath) out, err := os.Create(filePath)
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
UpdateFileError("1", v.Uuid, v.RoomNum, objectName) UpdateFileError("1", v.Uuid, v.RoomNum, objectName)
return return
} }
...@@ -126,7 +125,7 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -126,7 +125,7 @@ func Down(v *models.XyuSmallTempFiles) {
// 然后将响应流和文件流对接起来 // 然后将响应流和文件流对接起来
_, err = io.Copy(out, resp.Body) _, err = io.Copy(out, resp.Body)
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
UpdateFileError("1", v.Uuid, v.RoomNum, objectName) UpdateFileError("1", v.Uuid, v.RoomNum, objectName)
return return
} }
...@@ -136,19 +135,19 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -136,19 +135,19 @@ func Down(v *models.XyuSmallTempFiles) {
err := o.QueryTable("xyu_room").Filter("room_num", v.RoomNum).One(&room) err := o.QueryTable("xyu_room").Filter("room_num", v.RoomNum).One(&room)
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
return return
} }
bucket, err := newOssClient() bucket, err := newOssClient()
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
return return
} }
file, err := os.Open(filePath) file, err := os.Open(filePath)
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
return return
} }
defer file.Close() defer file.Close()
...@@ -158,7 +157,7 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -158,7 +157,7 @@ func Down(v *models.XyuSmallTempFiles) {
t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second()) t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second())
slice_path := strings.Split(objectName, "/") slice_path := strings.Split(objectName, "/")
fmt.Println(slice_path[2]) log.Println(slice_path[2])
room_file["room_id"] = room.Id room_file["room_id"] = room.Id
room_file["id"] = t.Unix() room_file["id"] = t.Unix()
room_file["is_courseware"] = "1" room_file["is_courseware"] = "1"
...@@ -197,13 +196,13 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -197,13 +196,13 @@ func Down(v *models.XyuSmallTempFiles) {
fd, err := os.Open(filePath) fd, err := os.Open(filePath)
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
return return
} }
defer fd.Close() defer fd.Close()
fmt.Println("objectName == ", objectName) log.Println("objectName == ", objectName)
objectPath := objectName[0:strings.LastIndex(objectName, "/")]+"/" objectPath := objectName[0:strings.LastIndex(objectName, "/")]+"/"
room_file["path"] = objectName room_file["path"] = objectName
err = bucket.PutObject(objectName, fd) err = bucket.PutObject(objectName, fd)
...@@ -214,17 +213,20 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -214,17 +213,20 @@ func Down(v *models.XyuSmallTempFiles) {
furl := "https://xiaoyu-live.oss-cn-beijing-internal.aliyuncs.com/" + objectName furl := "https://xiaoyu-live.oss-cn-beijing-internal.aliyuncs.com/" + objectName
maps, err := getFileInfo(furl) maps, err := getFileInfo(furl)
if err != nil { if err != nil {
fmt.Println("2 === ",err) log.Println("2 === ",err)
UpdateFileError("2", v.Uuid, v.RoomNum, objectName) UpdateFileError("2", v.Uuid, v.RoomNum, objectName)
return return
} }
if v, ok := maps["error"]; ok {
log.Println(v)
}
if _, ok := maps["FileSize"]; !ok { if _, ok := maps["FileSize"]; !ok {
log.Println(maps) log.Println(maps)
UpdateFileError("2", v.Uuid, v.RoomNum, objectName) UpdateFileError("2", v.Uuid, v.RoomNum, objectName)
return return
} }
if _, ok := maps["FileSize"].(float64); !ok { if _, ok := maps["FileSize"].(float64); !ok {
fmt.Println("4===",err) log.Println("4===",err)
UpdateFileError("2", v.Uuid, v.RoomNum, objectName) UpdateFileError("2", v.Uuid, v.RoomNum, objectName)
return return
} }
...@@ -255,7 +257,7 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -255,7 +257,7 @@ func Down(v *models.XyuSmallTempFiles) {
reader, err := zip.OpenReader( "/data/files/" + contentHash + ".zip") reader, err := zip.OpenReader( "/data/files/" + contentHash + ".zip")
if err != nil { if err != nil {
fmt.Println("5===",err) log.Println("5===",err)
UpdateFileError("4", v.Uuid, v.RoomNum, objectName) UpdateFileError("4", v.Uuid, v.RoomNum, objectName)
return return
} }
...@@ -306,7 +308,7 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -306,7 +308,7 @@ func Down(v *models.XyuSmallTempFiles) {
err = Pool.Wait() err = Pool.Wait()
if err != nil { if err != nil {
UpdateFileError("5", v.Uuid, v.RoomNum, objectName) UpdateFileError("5", v.Uuid, v.RoomNum, objectName)
fmt.Println(err) log.Println(err)
return return
} }
...@@ -323,7 +325,7 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -323,7 +325,7 @@ func Down(v *models.XyuSmallTempFiles) {
wordFloat64) wordFloat64)
if err != nil { if err != nil {
UpdateFileError("6", v.Uuid, v.RoomNum, objectName) UpdateFileError("6", v.Uuid, v.RoomNum, objectName)
fmt.Println(err) log.Println(err)
return return
} }
}() }()
...@@ -335,14 +337,14 @@ func Down(v *models.XyuSmallTempFiles) { ...@@ -335,14 +337,14 @@ func Down(v *models.XyuSmallTempFiles) {
err = CreateFileDataBase(room_file) err = CreateFileDataBase(room_file)
if err != nil { if err != nil {
fmt.Println("err==", err) log.Println("err==", err)
return return
} }
} }
elapsed := time.Since(t) elapsed := time.Since(t)
fmt.Println("filename == ", filename, " 上传成功, 上传耗时 == ", elapsed) log.Println("filename == ", filename, " 上传成功, 上传耗时 == ", elapsed)
// 删除压缩包和删除文件 // 删除压缩包和删除文件
defer os.Remove(filePath) defer os.Remove(filePath)
defer os.Remove("/data/files/" + contentHash+".zip") defer os.Remove("/data/files/" + contentHash+".zip")
...@@ -378,13 +380,13 @@ func webToken() (*http.Client, string, error) { ...@@ -378,13 +380,13 @@ func webToken() (*http.Client, string, error) {
res, err := client.Do(req) res, err := client.Do(req)
if err != nil { if err != nil {
fmt.Println("token请求失败", err) log.Println("token请求失败", err)
return &http.Client{}, "", err return &http.Client{}, "", err
} }
bodys, err := ioutil.ReadAll(res.Body) bodys, err := ioutil.ReadAll(res.Body)
if err != nil { if err != nil {
fmt.Println("获取数据失败",err) log.Println("获取数据失败",err)
return &http.Client{}, "", err return &http.Client{}, "", err
} }
...@@ -401,7 +403,7 @@ func webToken() (*http.Client, string, error) { ...@@ -401,7 +403,7 @@ func webToken() (*http.Client, string, error) {
//登录成功获取token //登录成功获取token
t_res, err := client.Get(WEBURL + "/web/admin") t_res, err := client.Get(WEBURL + "/web/admin")
if err != nil { if err != nil {
fmt.Println("token无效", err) log.Println("token无效", err)
return &http.Client{}, "", err return &http.Client{}, "", err
} }
defer t_res.Body.Close() defer t_res.Body.Close()
...@@ -426,7 +428,7 @@ func UpdateFileError(code , uuid, room_num, path string) error { ...@@ -426,7 +428,7 @@ func UpdateFileError(code , uuid, room_num, path string) error {
vv.Add("path", path) vv.Add("path", path)
client, token, err := webToken() client, token, err := webToken()
if err != nil { if err != nil {
fmt.Println("token 获取失败", err) log.Println("token 获取失败", err)
return err return err
} }
vv.Add("_token", token) vv.Add("_token", token)
...@@ -435,30 +437,31 @@ func UpdateFileError(code , uuid, room_num, path string) error { ...@@ -435,30 +437,31 @@ func UpdateFileError(code , uuid, room_num, path string) error {
req, err := http.NewRequest("POST",WEBURL + "/web/room_files_error", payload) req, err := http.NewRequest("POST",WEBURL + "/web/room_files_error", payload)
if err != nil { if err != nil {
fmt.Println("123") log.Println(err)
return err return err
} }
req.Header.Add("content-type", "multipart/form-data") req.Header.Add("content-type", "multipart/form-data")
req.Header.Add("Content-Type", "application/x-www-form-urlencoded") req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, err := client.Do(req) res, err := client.Do(req)
if err != nil { if err != nil {
fmt.Println("5555") log.Println(err)
return err return err
} }
defer res.Body.Close() defer res.Body.Close()
post_body, err := ioutil.ReadAll(res.Body) post_body, err := ioutil.ReadAll(res.Body)
if err != nil { if err != nil {
fmt.Println("456") log.Println(err)
return err return err
} }
map2 := make(map[string]interface{}) map2 := make(map[string]interface{})
err = json.Unmarshal(post_body, &map2) err = json.Unmarshal(post_body, &map2)
if err != nil { if err != nil {
fmt.Println("678") log.Println(err)
return err return err
} }
if int(map2["code"].(float64)) != 200 { if int(map2["code"].(float64)) != 200 {
log.Println("消息下发失败")
return errors.New("消息下发失败") return errors.New("消息下发失败")
} }
return nil return nil
...@@ -473,7 +476,7 @@ func CreateFileDataBase(room_file map[string]interface{}) error { ...@@ -473,7 +476,7 @@ func CreateFileDataBase(room_file map[string]interface{}) error {
} }
client, token, err := webToken() client, token, err := webToken()
if err != nil { if err != nil {
fmt.Println("token 获取失败", err) log.Println("token 获取失败", err)
return err return err
} }
...@@ -483,27 +486,27 @@ func CreateFileDataBase(room_file map[string]interface{}) error { ...@@ -483,27 +486,27 @@ func CreateFileDataBase(room_file map[string]interface{}) error {
req, err := http.NewRequest("POST",WEBURL + "/web/room_files_add", payload) req, err := http.NewRequest("POST",WEBURL + "/web/room_files_add", payload)
if err != nil { if err != nil {
fmt.Println("123") log.Println(err)
return err return err
} }
req.Header.Add("content-type", "multipart/form-data") req.Header.Add("content-type", "multipart/form-data")
req.Header.Add("Content-Type", "application/x-www-form-urlencoded") req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, err := client.Do(req) res, err := client.Do(req)
if err != nil { if err != nil {
fmt.Println("5555") log.Println(err)
return err return err
} }
defer res.Body.Close() defer res.Body.Close()
post_body, err := ioutil.ReadAll(res.Body) post_body, err := ioutil.ReadAll(res.Body)
if err != nil { if err != nil {
fmt.Println("456") log.Println(err)
return err return err
} }
map2 := make(map[string]interface{}) map2 := make(map[string]interface{})
err = json.Unmarshal(post_body, &map2) err = json.Unmarshal(post_body, &map2)
if err != nil { if err != nil {
fmt.Println("678") log.Println(err)
return err return err
} }
...@@ -635,16 +638,6 @@ func newOssClient() (*oss.Bucket, error) { ...@@ -635,16 +638,6 @@ func newOssClient() (*oss.Bucket, error) {
return bucket, nil return bucket, nil
} }
func fileContentHash(file io.Reader) (string, []byte) {
b, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println(err)
}
hash := md5.New()
io.WriteString(hash, string(b))
result := hash.Sum(nil)
return fmt.Sprintf("%s", hex.EncodeToString(result)), b
}
func downloadFile(url, contentHash string, fb func(length, downLen int64)) error { func downloadFile(url, contentHash string, fb func(length, downLen int64)) error {
var ( var (
...@@ -656,14 +649,16 @@ func downloadFile(url, contentHash string, fb func(length, downLen int64)) error ...@@ -656,14 +649,16 @@ func downloadFile(url, contentHash string, fb func(length, downLen int64)) error
client := new(http.Client) client := new(http.Client)
//get方法获取资源 //get方法获取资源
resp, err := client.Get(url) resp, err := client.Get(url)
fmt.Println(url) log.Println(url)
if err != nil { if err != nil {
log.Println(err)
return err return err
} }
//读取服务器返回的文件大小 //读取服务器返回的文件大小
fsize, err = strconv.ParseInt(resp.Header.Get("Content-Length"), 10, 32) fsize, err = strconv.ParseInt(resp.Header.Get("Content-Length"), 10, 32)
if err != nil { if err != nil {
fmt.Println(err) log.Println(err)
return err
} }
//创建文件 //创建文件
...@@ -671,10 +666,12 @@ func downloadFile(url, contentHash string, fb func(length, downLen int64)) error ...@@ -671,10 +666,12 @@ func downloadFile(url, contentHash string, fb func(length, downLen int64)) error
file, err := os.Create("/data/files/" + contentHash+".zip") file, err := os.Create("/data/files/" + contentHash+".zip")
if err != nil { if err != nil {
log.Println(err)
return err return err
} }
defer file.Close() defer file.Close()
if resp.Body == nil { if resp.Body == nil {
log.Println(err)
return errors.New("body is null") return errors.New("body is null")
} }
defer resp.Body.Close() defer resp.Body.Close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment