Added preview bypass for .gif files

This commit is contained in:
Fabian Fritzsche 2020-07-03 02:22:30 +02:00
parent de0b8bb7b2
commit 06a78d0cea

View File

@ -3,6 +3,7 @@ package http
import ( import (
"fmt" "fmt"
"image" "image"
"image/gif"
"net/http" "net/http"
"github.com/disintegration/imaging" "github.com/disintegration/imaging"
@ -79,6 +80,18 @@ func handleImagePreview(w http.ResponseWriter, r *http.Request, file *files.File
} }
defer fd.Close() defer fd.Close()
if format == imaging.GIF && size == sizeBig {
g, err := gif.DecodeAll(fd)
if err != nil {
return errToStatus(err), err
}
if gif.EncodeAll(w, g) != nil {
return errToStatus(err), err
}
return 0, nil
}
img, err := imaging.Decode(fd, imaging.AutoOrientation(true)) img, err := imaging.Decode(fd, imaging.AutoOrientation(true))
if err != nil { if err != nil {
return errToStatus(err), err return errToStatus(err), err