胡轶钦 6 jaren geleden
bovenliggende
commit
9bb6466e60
1 gewijzigde bestanden met toevoegingen van 40 en 2 verwijderingen
  1. 40
    2
      controllers/wechatimg/wechatimt.go

+ 40
- 2
controllers/wechatimg/wechatimt.go Bestand weergeven

@@ -1,6 +1,7 @@
1 1
 package wechatimg
2 2
 
3 3
 import (
4
+	"errors"
4 5
 	"fmt"
5 6
 	"io"
6 7
 	"os"
@@ -155,7 +156,10 @@ func (c *WechatImgController) AddNewImg() {
155 156
 		fmt.Println("文件保存失败")
156 157
 		return
157 158
 	}
158
-
159
+	url, err := c.FileUploadForMatrial()
160
+	if err != nil {
161
+		c.ResponseError(err)
162
+	}
159 163
 	user := c.Context.Get("user").(*model.SysUser)
160 164
 
161 165
 	appId, err := c.sdao.GetAppIdByOrgId(user.OrgId)
@@ -181,7 +185,7 @@ func (c *WechatImgController) AddNewImg() {
181 185
 	}
182 186
 	c.ResponseJSON(map[string]interface{}{
183 187
 		"media_id": img.MediaId,
184
-		"url":      img.Url,
188
+		"url":      url,
185 189
 	})
186 190
 
187 191
 }
@@ -208,3 +212,37 @@ func (c *WechatImgController) DeleteImg() {
208 212
 	}
209 213
 	c.ResponseJSON("删除成功")
210 214
 }
215
+
216
+func (c *BaseController) FileUploadForMatrial() (string, error) {
217
+	file, err := c.uploadFileToOSS("media")
218
+	if err != nil {
219
+		return nil, err
220
+	}
221
+	return file, nil
222
+}
223
+
224
+func (c *BaseController) uploadFileToOSS(field string) (string, error) {
225
+	aliConf, ok := c.Configer[AliYunConf]
226
+	if !ok {
227
+		return "", errors.New("没有找到阿里云相关配置")
228
+	}
229
+
230
+	endpoint := aliConf.String("oss::Endpoint")
231
+	accessKeyID := aliConf.String("oss::AccessKeyId")
232
+	accessKeySecret := aliConf.String("oss::AccessKeySecret")
233
+	bucket := aliConf.String("oss::Bucket")
234
+
235
+	aliCli, err := utils.GetOssClient(endpoint, accessKeyID, accessKeySecret)
236
+	if err != nil {
237
+		return "", err
238
+	}
239
+
240
+	fNameExtra := strconv.FormatInt(time.Now().Unix(), 10)
241
+
242
+	fileURL, err := utils.UploadFileToBucket(aliCli, c.Ctx.Request, bucket, field, fNameExtra)
243
+	if err != nil {
244
+		return "", err
245
+	}
246
+
247
+	return fileURL, nil
248
+}