胡轶钦 6 年前
父节点
当前提交
1bcaffe7d6
共有 4 个文件被更改,包括 52 次插入8 次删除
  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 查看文件

86
 					URI:  list[i].CustomerImg,
86
 					URI:  list[i].CustomerImg,
87
 					Name: list[i].ImgName + ".jpeg",
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
 					URI:  list[i].CalendarImg,
101
 					URI:  list[i].CalendarImg,
99
 					Name: list[i].ImgName + ".jpeg",
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
 		zf = "电子台历.zip"
110
 		zf = "电子台历.zip"
106
 	}
111
 	}
112
+	if len(files) <= 0 {
113
+		c.ResponseError(errors.New("图片为空"))
114
+	}
107
 	c.SaveNetFilesToZip(files, zf)
115
 	c.SaveNetFilesToZip(files, zf)
108
 }
116
 }
109
 func (c *CalendarController) GetCalendarListFront() {
117
 func (c *CalendarController) GetCalendarListFront() {

+ 26
- 0
controllers/file.go 查看文件

97
 	c.ResponseJSON(resp)
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
 // uploadStringToAliOSS 上传文件到阿里云
126
 // uploadStringToAliOSS 上传文件到阿里云
101
 func (c *BaseController) uploadStringToAliOSS(fStr string) (string, error) {
127
 func (c *BaseController) uploadStringToAliOSS(fStr string) (string, error) {
102
 	aliConf, ok := c.Configer[AliYunConf]
128
 	aliConf, ok := c.Configer[AliYunConf]

+ 1
- 1
models/course/course.go 查看文件

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

+ 15
- 5
utils/aliyun.go 查看文件

2
 
2
 
3
 import (
3
 import (
4
 	"bytes"
4
 	"bytes"
5
+	"compress/gzip"
5
 	"encoding/base64"
6
 	"encoding/base64"
6
 	"net/http"
7
 	"net/http"
7
 	"strings"
8
 	"strings"
29
 		return "", err
30
 		return "", err
30
 	}
31
 	}
31
 	defer file.Close()
32
 	defer file.Close()
32
-
33
 	fname := fh.Filename
33
 	fname := fh.Filename
34
 	if len(nameSuffix) > 0 && nameSuffix[0] != "" {
34
 	if len(nameSuffix) > 0 && nameSuffix[0] != "" {
35
 		fArr := strings.Split(fname, ".")
35
 		fArr := strings.Split(fname, ".")
36
 		fArr[0] = fArr[0] + nameSuffix[0]
36
 		fArr[0] = fArr[0] + nameSuffix[0]
37
 		fname = strings.Join(fArr, ".")
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
 	return strings.Join([]string{
55
 	return strings.Join([]string{