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