胡轶钦 6 lat temu
rodzic
commit
1bcaffe7d6
4 zmienionych plików z 52 dodań i 8 usunięć
  1. 10
    2
      controllers/calendar/calendar.go
  2. 26
    0
      controllers/file.go
  3. 1
    1
      models/course/course.go
  4. 15
    5
      utils/aliyun.go

+ 10
- 2
controllers/calendar/calendar.go Wyświetl plik

@@ -86,7 +86,10 @@ func (c *CalendarController) DownloadImg() {
86 86
 					URI:  list[i].CustomerImg,
87 87
 					Name: list[i].ImgName + ".jpeg",
88 88
 				}
89
-				files = append(files, file)
89
+				if file.URI != "" {
90
+					files = append(files, file)
91
+				}
92
+
90 93
 			}
91 94
 
92 95
 		}
@@ -98,12 +101,17 @@ func (c *CalendarController) DownloadImg() {
98 101
 					URI:  list[i].CalendarImg,
99 102
 					Name: list[i].ImgName + ".jpeg",
100 103
 				}
101
-				files = append(files, file)
104
+				if file.URI != "" {
105
+					files = append(files, file)
106
+				}
102 107
 			}
103 108
 
104 109
 		}
105 110
 		zf = "电子台历.zip"
106 111
 	}
112
+	if len(files) <= 0 {
113
+		c.ResponseError(errors.New("图片为空"))
114
+	}
107 115
 	c.SaveNetFilesToZip(files, zf)
108 116
 }
109 117
 func (c *CalendarController) GetCalendarListFront() {

+ 26
- 0
controllers/file.go Wyświetl plik

@@ -97,6 +97,32 @@ func (c *BaseController) UploadBase64Image() {
97 97
 	c.ResponseJSON(resp)
98 98
 }
99 99
 
100
+// func (c *BaseController) UploadBase64ImageGzip() {
101
+// 	base64Gzip := c.GetString("base64str")
102
+// 	baseZip := []byte(base64Gzip)
103
+// 	reader, err := gzip.NewReader(bytes.NewReader(baseZip))
104
+// 	if err != nil {
105
+// 		c.ResponseError(err)
106
+// 	}
107
+// 	baseByte, err := ioutil.ReadAll(reader)
108
+// 	baseStr := string(baseByte)
109
+// 	base64Str, err := url.QueryUnescape(baseStr)
110
+// 	if err != nil {
111
+// 		c.ResponseError(utils.LogError("上传 Base64 图片失败", err))
112
+// 	}
113
+
114
+// 	imgURL, err := c.uploadStringToAliOSS(base64Str)
115
+// 	if err != nil {
116
+// 		c.ResponseError(err)
117
+// 	}
118
+
119
+// 	resp := map[string]interface{}{
120
+// 		"url": imgURL,
121
+// 	}
122
+
123
+// 	c.ResponseJSON(resp)
124
+// }
125
+
100 126
 // uploadStringToAliOSS 上传文件到阿里云
101 127
 func (c *BaseController) uploadStringToAliOSS(fStr string) (string, error) {
102 128
 	aliConf, ok := c.Configer[AliYunConf]

+ 1
- 1
models/course/course.go Wyświetl plik

@@ -712,7 +712,7 @@ WHERE
712 712
 	a.org_id = '` + orgId + `' 
713 713
 	AND a.STATUS = ` + strconv.Itoa(models.STATUS_NORMAL) + ` 
714 714
 ORDER BY
715
-	a.begin_date DESC 
715
+	a.begin_date ASC 
716 716
 	LIMIT ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
717 717
 	err := m.db.Sql(sql).Find(&course)
718 718
 	return course, err

+ 15
- 5
utils/aliyun.go Wyświetl plik

@@ -2,6 +2,7 @@ package utils
2 2
 
3 3
 import (
4 4
 	"bytes"
5
+	"compress/gzip"
5 6
 	"encoding/base64"
6 7
 	"net/http"
7 8
 	"strings"
@@ -29,17 +30,26 @@ func UploadFileToBucket(cli *oss.Client, req *http.Request, bucket, fromFront st
29 30
 		return "", err
30 31
 	}
31 32
 	defer file.Close()
32
-
33 33
 	fname := fh.Filename
34 34
 	if len(nameSuffix) > 0 && nameSuffix[0] != "" {
35 35
 		fArr := strings.Split(fname, ".")
36 36
 		fArr[0] = fArr[0] + nameSuffix[0]
37 37
 		fname = strings.Join(fArr, ".")
38 38
 	}
39
-
40
-	err = bkt.PutObject(fname, file)
41
-	if err != nil {
42
-		return "", err
39
+	if req.Header.Get("Content-Encoding") == "gzip" {
40
+		reader, err := gzip.NewReader(file)
41
+		if err != nil {
42
+			return "", err
43
+		}
44
+		err = bkt.PutObject(fname, reader)
45
+		if err != nil {
46
+			return "", err
47
+		}
48
+	} else {
49
+		err = bkt.PutObject(fname, file)
50
+		if err != nil {
51
+			return "", err
52
+		}
43 53
 	}
44 54
 
45 55
 	return strings.Join([]string{