From 7b4649b430564fd765bea0b913f38cde0b82f040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Dec 2020 14:10:36 +0800 Subject: [PATCH] upload audio --- controllers/event_controller.go | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/controllers/event_controller.go b/controllers/event_controller.go index ac2295d92..6ba1d11a8 100644 --- a/controllers/event_controller.go +++ b/controllers/event_controller.go @@ -47,6 +47,10 @@ type Message struct { Data interface{} `json:"data"` } +const ( + audioPath = "/jxdata/cthrgw/dist/audio/" +) + // @Title 测试websocket // @Description 测试websocket // @Success 200 {object} controllers.CallResult @@ -378,28 +382,37 @@ func (c *EventController) UploadImg() { // @router /UploadAudio [post] func (c *EventController) UploadAudio() { c.callUploadAudio(func(params *tEventUploadAudioParams) (retVal interface{}, errCode string, err error) { + var ( + timeStr = time.Now().Format("20060102") + filePath = audioPath + timeStr + ) files := c.Ctx.Request.MultipartForm.File["rsmAudio"] head := files[0] - fmt.Println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", *head) file, err := head.Open() - // file, head, err := c.GetFile("rsmAudio") defer file.Close() if path.Ext(head.Filename) != ".mp3" { err = fmt.Errorf("不支持的音频格式,请重新选择!") } if err != nil { - fmt.Println("bbbbbbbbbbbbbbbbbbbbbb", err) return retVal, "", err } - fmt.Println("cccccccccccccccccccccccccccccccc", head.Filename) - fileName := utils.GetUUID() + "_" + time.Now().Format("20060102") + path.Ext(head.Filename) - f, err := os.OpenFile("/jxdata/cthrgw/dist/audio/"+time.Now().Format("20060102")+"/"+fileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) + fileName := utils.GetUUID() + "_" + timeStr + path.Ext(head.Filename) + fmt.Println("aaaaaaaaaaaaaaaaaaaaaaa", fileName) + if err = os.Mkdir(filePath, os.ModeDir); err != nil { + if os.IsExist(err) { + err = nil + } else { + fmt.Println("bbbbbbbbbbbbbbbbbbbbbbbb", err) + return retVal, "", err + } + } + f, err := os.Create(filePath + "/" + fileName) if err != nil { + fmt.Println("ccccccccccccccccccccccc", err) return retVal, "", err } defer f.Close() io.Copy(f, file) - // c.SaveToFile("rsmAudio", "/jxdata/cthrgw/dist/audio/"+time.Now().Format("20060102")+"/"+fileName) return "https://www.jxcs.net/audio/" + fileName, "", err }) }