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) +}