mirror of https://gitee.com/answerdev/answer.git
Update file_type.go
This commit is contained in:
parent
541c35e827
commit
de6a633248
|
@ -1,26 +1,25 @@
|
|||
package checker
|
||||
|
||||
import (
|
||||
"image/jpeg"
|
||||
"image/png"
|
||||
"image"
|
||||
_ "image/gif" // use init to support decode jpeg,jpg,png,gif
|
||||
_ "image/jpeg"
|
||||
_ "image/png"
|
||||
"io"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// IsSupportedImageFile currently answers support image type is `image/jpeg,image/jpg,image/png`
|
||||
// IsSupportedImageFile currently answers support image type is `image/jpeg,image/jpg,image/png, image/gif`
|
||||
func IsSupportedImageFile(file io.Reader, ext string) bool {
|
||||
|
||||
ext = strings.TrimPrefix(ext, ".")
|
||||
var err error
|
||||
switch strings.ToUpper(ext) {
|
||||
case "JPEG":
|
||||
_, err = jpeg.Decode(file)
|
||||
case "PNG":
|
||||
_, err = png.Decode(file)
|
||||
case "JPG", "JPEG", "PNG", "GIF": // only allow for `image/jpeg,image/jpg,image/png, image/gif`
|
||||
_, _, err = image.Decode(file)
|
||||
case "ICO":
|
||||
// TODO: There is currently no good Golang library to parse whether the image is in ico format.
|
||||
return true
|
||||
case "JPG":
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue