diff --git a/controllers/DocumentController.go b/controllers/DocumentController.go index 3a8c327a..3c02c2aa 100644 --- a/controllers/DocumentController.go +++ b/controllers/DocumentController.go @@ -419,7 +419,7 @@ func (c *DocumentController) Upload() { filePath := filepath.Join(conf.WorkingDirectory, "uploads", identify) //将图片和文件分开存放 - if strings.EqualFold(ext, ".jpg") || strings.EqualFold(ext, ".jpeg") || strings.EqualFold(ext, ".png") || strings.EqualFold(ext, ".gif") { + if filetil.IsImageExt(moreFile.Filename) { filePath = filepath.Join(filePath, "images", fileName+ext) } else { filePath = filepath.Join(filePath, "files", fileName+ext) diff --git a/utils/filetil/filetil.go b/utils/filetil/filetil.go index db13671f..83c6f812 100644 --- a/utils/filetil/filetil.go +++ b/utils/filetil/filetil.go @@ -224,6 +224,18 @@ func HasFileOfExt(path string,exts []string) bool { return err == os.ErrExist } +// IsImageExt 判断是否是图片后缀 +func IsImageExt(filename string) bool { + ext := filepath.Ext(filename) + + return strings.EqualFold(ext, ".jpg") || + strings.EqualFold(ext, ".jpeg") || + strings.EqualFold(ext, ".png") || + strings.EqualFold(ext, ".gif") || + strings.EqualFold(ext,".svg") || + strings.EqualFold(ext,".bmp") || + strings.EqualFold(ext,".webp") +} //忽略字符串中的BOM头 func ReadFileAndIgnoreUTF8BOM(filename string) ([]byte,error) {