From 0c67ea4731936862d5033ae4b03ee67def835666 Mon Sep 17 00:00:00 2001 From: dustoair <107600816+dustoair@users.noreply.github.com> Date: Sun, 21 Aug 2022 23:29:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=92=8C=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/image.go | 22 ++++++++++++---------- util/imageCheck_test.go | 20 +++++++++++++++++++- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/controller/image.go b/controller/image.go index d70ce82..6345335 100644 --- a/controller/image.go +++ b/controller/image.go @@ -41,22 +41,24 @@ func (a *ImageController) UploadNiupic(c *gin.Context) { fileName := util.Md5Encode(fmt.Sprintf("%s%s", f.Filename, time.Now().String())) fildDir := fmt.Sprintf("%s%d%s_", "upload_tmp_", time.Now().Year(), time.Now().Month().String()) subfilepath := fmt.Sprintf("%s%s%s", fildDir, fileName, fileExt) - if strings.Contains(strings.ToUpper(fileExt), "JPEG") || strings.Contains(strings.ToUpper(fileExt), "JPG") || strings.Contains(strings.ToUpper(fileExt), "PNG") || strings.Contains(strings.ToUpper(fileExt), "GIF") { - _, err := util.CheckImageFile(subfilepath) - if err != nil { - c.JSON(200, gin.H{ - "code": 400, - "msg": "上传失败 文件格式异常!", - }) - return - } - } err := c.SaveUploadedFile(f, subfilepath) if err != nil { log.Println(err) resultRes.Error(1, "图片保存失败") } else { + //校验文件名称和类型的正确性 + if strings.Contains(strings.ToUpper(fileExt), "JPEG") || strings.Contains(strings.ToUpper(fileExt), "JPG") || strings.Contains(strings.ToUpper(fileExt), "PNG") || strings.Contains(strings.ToUpper(fileExt), "GIF") { + _, err := util.CheckImageFile(subfilepath) + if err != nil { + c.JSON(200, gin.H{ + "code": 400, + "msg": "上传失败 文件格式异常!", + }) + return + } + } + url, err := service.UploadNiupic(subfilepath) if err != nil { resultRes.Error(1, "图片上传失败") diff --git a/util/imageCheck_test.go b/util/imageCheck_test.go index 0391f60..ea1874e 100644 --- a/util/imageCheck_test.go +++ b/util/imageCheck_test.go @@ -14,6 +14,16 @@ import ( * */ func TestCheckImageFile(t *testing.T) { + path := "D:\\Desktop\\icon\\m_487c6a80-458c-11eb-a0b7-0016a.jpg" + _, err := CheckImageFile(path) + if err != nil { + fmt.Println(err) + return + } + fmt.Println("success") +} + +func TestCheckImageFil2e(t *testing.T) { path := "D:\\Desktop\\icon\\avatar.png" _, err := CheckImageFile(path) if err != nil { @@ -22,9 +32,17 @@ func TestCheckImageFile(t *testing.T) { } fmt.Println("success") } -func TestIndex(t *testing.T) { + +func TestIndex2(t *testing.T) { path := "343455.sdsdsdsd.jpg" lastIndex := strings.LastIndex(path, ".") extend := path[lastIndex+1:] fmt.Println(extend) } + +func TestIndex(t *testing.T) { + path := "D:\\Desktop\\icon\\m_487c6a80-458c-11eb-a0b7-0016a.jpg" + lastIndex := strings.LastIndex(path, ".") + extend := path[lastIndex+1:] + fmt.Println(extend) +}